【c# – 用测试数据填写一个类】教程文章相关的互联网学习教程文章

c# – 使用DeploymentItem属性无法使用AutoMapper进行单元测试 – PlatformNotSupportedException【代码】

我正在尝试将AutoMapper与使用DeploymentItem属性的单元测试一起使用,以便在运行时读取文件. 这是我的代码:[TestClass]public class UnitTest1{[TestMethod][DeploymentItem("Samples/demo.csv")]public void TestMethod1(){Mapper.CreateMap<A, B>();// test logic}}class A{public string PropA { get; set; }public bool PropB { get; set; }}class B{public string PropA { get; set; }public bool PropB { get; set; }}我在这...

c# – 请求静态内容时,Nancy单元测试不起作用【代码】

我有一个基于Nancy的Web项目和一个使用MSTest引用Web项目的单元测试项目. 我已将robots.txt文件添加到Web项目的Content文件夹中.我使用nancyConventions.StaticContentsConventions.AddFile(“/ robots.txt”,“/ Content /robots.txt”)为它添加了静态内容路径;在Bootstrapper中的ConfigureConventions方法中. 单元测试如下所示:[TestMethod] public void Get_Robotstxt_Should_Return_Status_OK() {// Givenvar browser = new B...

c# – 如何使用Moq模拟SoapException以进行单元测试错误处理【代码】

我继承了一个调用SOAP Web服务的小型控制台应用程序.这是一个嵌套的try-catches的悲剧性混乱,它以各种方式记录异常,并且我想围绕抛出SoapException时它的行为方式进行一些测试. 问题:当我无法模拟接口并且无法使属性或方法“虚拟”时,如何使用Moq模拟像SoapException这样的类? 再解释一下: 要测试此错误处理,我需要控制SoapException对象的Actor属性,以及Detail属性以验证错误处理. 我的单元测试代码的片段:[TestMethod] publi...

c# – 单元测试WCF服务

我正在设计一个企业级Web应用程序,它将具有数据层SQL数据库,与数据层通信的WCF REST Web服务层,然后是将与WCF REST Web服务通信的MVC网站.我希望在设计的每个级别都进行自动单元测试. 我已经创建了一个数据层单元测试项目,它可以测试EF模型,存储库,操作等,并且有大约15个测试我可以单击按钮并运行到目前为止,测试数据层提供的所有功能. 我希望在WCF服务层有相同的但我无法弄清楚如何让一个自动测试项目针对WCF服务运行.我看过有关使...

c# – 单元测试覆盖范围很迂腐【代码】

我正在使用Visual Studio 2012中的分析代码覆盖率工具.该报告似乎对所涵盖的内容非常迂腐,我不知道还可以做些什么来提供更多的覆盖. 我正在测试的代码是这样的:public class Factory<T> : IFactory<T> where T : new() {public T Create(){return new T(); // This line has only partial coverage.} }单元测试:using System; using Xunit; public class Factory_Tests {[Fact]public void Constructor_Works(){var target = ne...

c# – 使用EPPlus的单元测试类【代码】

我遇到了使用EPPlus的单元测试类问题.在我看来,我有两个选择. 我可以嘲笑&将HttpPostedFileBase注入方法,或者我可以模拟&注入EPPlus ExcelPackage类. 模拟HttpPostedFileBase,至少做一个真正的模拟,似乎有限.我可以模拟文件的基本属性(MIME类型,文件名等),但是以允许测试实际与之交互的方式模拟其InputStream似乎非常困难.我能想到的唯一解决方案是提供一个真正的excel文件,用它创建一个真正的FileStream,并将该FileStream分配给我...

c# – 如何并行运行MSpec测试程序集?

我们有以下设置: > Team City v8.1.2> .NET 2013解决方案,包含多个不同的C#项目(ASP.NET MVC,图书馆,测试项目等)> 95%的测试都是MSpec,但我们也有一些NUnit测试.>我们有14个测试项目正在增长…… 目前,测试阶段大约需要9分钟进行MSpec测试,1分钟进行NUnit测试.我们希望开始并行化,因为我们希望测试数量能够快速增长.什么是最好的解决方案,前提是: > MSpec似乎没有任何并行的跑步者.>测试应该按照程序集并行化,测试在同一个程序集...

c# – 如何在Visual Studio中执行将生产代码与测试代码分开的TDD【代码】

在典型的Java IDE(比如Intellij)中,工作测试驱动开发(TDD)样式意味着非常有效的工作流程,并且在通过测试完成代码后几乎不需要修改或替换. 与C#解决方案一样,Java项目具有将生产代码与测试代码分离的各种样式,但通常并行存在两个目录结构 > src>测试 或者测试由src树中的命名空间分隔.然后是那个主题的无穷变化. 使用像Intellij这样的东西我可以创建我的“测试类/方法”,开始编码,动态生成对象,就像我去的那样,它们通常最终位于正确...

c# – 用测试数据填写一个类【代码】

我正在使用反射来为给定的C#类填充测试数据public object CreateObj(Type type) {var obj = Activator.CreateInstance(type);var fields = type.GetFields();foreach (var field in fields){field.SetValue(obj, GetRnd(field.FieldType));}return obj; }GetRnd()函数根据字段的类型设置值:private object GetRnd(Type type) {if (type == typeof(int)){return 4;}else if (type == typeof(string)){return "text";}else{throw ne...

c# – 我是否应该仅为测试目的创建新的构造函数?【代码】

我有一个包含另一个对象的二维数组的类.它有一个构造函数,但在该数组内部始终用零初始化.所以,其他人没有初始化为公平:public class FirstClass {public OtherClass[,] Others { get; set; }...}public class OtherClass {public int Id { get; set; } }其他人在运行时填充此数组.现在,我想编写一个测试,它将在填充其他人时测试一些操作.所以我需要将样本数组传递给Test方法.我不想创建OtherClass数组,因为我有很多这样的示例数组...

具有“复杂”参数的函数的C#单元测试结构【代码】

我正在使用C#并试图找出要使用哪个单元测试框架(MSTest,Nunit,Xunit)以便最好地采用数据驱动的测试方法.我有一些单元测试的经验,但只有非常简单的功能.我想要应用单元测试的功能定义如下,以及我尝试的解决方案,以及所需解决方案的形式. 单元测试功能Point3D GetIntersectionPoint(List<Point3D> line1, List<Point3D> line2)从两条任意长度和线段返回一个3D点(x,y,z)(假设它们在一个点上相交).可以说你需要测试的只是更简单的功能:...

c# – 使用匿名类型的单元测试 – JSON【代码】

我必须编写一个测试控制器的单元测试,该控制器碰巧将JSON作为匿名类型返回. 这是匿名的唯一原因是因为我需要为它添加一个根节点,所以从控制器的返回如下所示:return Json(new { User = person });这会将一个根节点添加到带有“User”的JSON,然后是一个序列化为JSON的Person对象. 这工作正常,我的问题是单元测试. 我见过测试这样的匿名类型的唯一解决方案是首先使用AssemblyInfo.cs中的InternalsVisibleTo使测试项目可见,然后使用d...

c# – 使用身份验证提供程序对asp.net核心进行集成测试【代码】

我是asp.net核心的新手.目前,我正在开发一个使用Google,Facebook和Microsoft身份验证提供商的小型网站. 现在我想为我的HomeController编写一些集成测试. 这是我的测试类的样子:public class HomeControllerTests : IDisposable {private HomeController _homeController;private readonly TestServer _server;private readonly HttpClient _client;public HomeControllerTests(){_server = new TestServer(new WebHostBuilder().U...

c# – SignalR测试 – 如何在新版本的SignalR for ASP.NET Core 2中模拟组【代码】

我尝试为我的Hub方法编写测试,但我不知道因为没有当前(1.0.0-alpha2-final)版本的SignalR的文档或代码示例.有我的代码:[Fact] public void SaveVisitorInfoTest() { //Arrangevar chatHub = new ChatHub();var mockClients = new Mock<IHubClients>();chatHub.Clients = mockClients.Object;dynamic groups = new ExpandoObject();var groupName = "SomeConversation";string actualName = null;string expectedName = "someNam...

C#UWP Visual Studio 2017单元测试【代码】

我正在使用Visual Studio 2017版本15.6.1为我的应用程序创建单元测试. 我添加了一个新项目,单元测试项目(通用Windows).项目目标版本是Fall Creators Update(10.0; Build 16299)最低版本是11月更新(10.0; Build 10586) 我编辑了UnitTest1.cs如下:[TestClass] public class UnitTest1 {[TestMethod]public void TestMethod1(){Assert.AreEqual(0, 0);}[TestMethod]public void TestMethod2(){Assert.AreEqual(0, 0);} }在左侧的测试...