我正在处理这个WebAPI项目,我需要为其创建单元测试。该项目的基础是使用VS2010创建的,然后添加了一个WebApi模块。Controller的工作有点妨碍测试/模拟。我正在使用xUnit和Moq,但绝对没有必要坚持使用这两个。应用程序使用特定的对象来处理数据库访问,所以我有controllerObject及其构造函数需要DataAccessObject我在模拟Controller/数据访问对时遇到问题。我尝试运行的第一个测试是GetAllFromDataBase,但我真的不知道如何去做。编辑:我按照CuongLe告诉我的去做了,现在一切都在进行中,我真的很感激。但我遇到了另一个问
我有一个类库,它包含以下模型和方法型号:publicclassEmployee{publicintEmpId{get;set;}publicstringName{get;set;}}方法:publicclassEmployeeService{publicListGetEmployee(){returnnewList(){newEmployee(){EmpId=1,Name="John"},newEmployee(){EmpId=2,Name="AlbertJohn"},newEmployee(){EmpId=3,Name="Emma"},}.Where(m=>m.Name.Contai
我正在尝试升级到xUnit2beta(主要是因为更好的测试发现)但偶然发现了IUseFixture:publicabstractclassTestCaseBase:IUseFixture{/*commonstuffhere*/}publicclassController1Test:TestCaseBase{}publicclassController2Test:TestCaseBase{}我发现新的IClassFixture几乎是我所需要的,除了为每个后代类(Controller1Test,Controller2Test)创建/处置固定装置而不是一次。好吧,我可以移动IClassFix
在xUnit中,我可以有一个使用这种形式的泛型的Theory测试:[Theory][MemberData(SomeScenario)]publicvoidTestMethod(TmyType){Assert.Equal(typeof(double),typeof(T));}publicstaticIEnumerableSomeScenario(){yieldreturnnewobject[]{1.23D};}这将给我通用T参数作为double。是否可以使用MemberData为具有如下签名的测试指定泛型类型参数:[Theory][MemberData(SomeTypeScenario)
我想比较一个对象列表,忽略列表中对象的顺序,只比较对象中的一些属性,目前我正在使用以下代码来执行此比较:actual.Should().NotBeNull();actual.Count.Should().Be(expected.Count);//compareignoringorderforeach(varexpinexpected)actual.Should().Contain(act=>act.IndividualId.Equals(exp.IndividualId)&&act.Email.Equals(exp.Email)&&act.FirstName.Equals(exp.Fi
我已经从NUnit迁移到使用Xunit进行单元测试。使用NUnit,我将创建一个方法,其中包含具有相同结果的多个测试用例。例如,下面的NUnit单元测试测试类构造函数的验证,特别是“name”变量。名称不能为null、空或空格。该测试检查是否正确抛出ArgumentNullException:[Test][TestCase(null)][TestCase("")][TestCase("")][ExpectedException(typeof(ArgumentNullException))]publicvoidConstructor_InvalidName_ExceptionThrown
我正在尝试为我的网络API设置单元测试。我从网上找到的一些零零碎碎的东西中整理了一些测试代码。我已经发送了测试请求并收到了响应,但我一直在测试响应。这就是我到目前为止所得到的。这是使用xunit测试包,但我认为这对我要实现的目标并不重要。(为困惑的代码道歉)[Fact]publicvoidCreateOrderTest(){stringbaseAddress="http://dummyname/";//ServerHttpConfigurationconfig=newHttpConfiguration();config.Routes.MapHttpRoute("Default","ap
我正在尝试在AppService的Xunit测试中实现依赖注入(inject)。理想的目标是运行原始应用程序Startup/configuration,并使用Startup中的任何依赖注入(inject),而不是在我的测试中再次重新初始化所有DI,这就是整个目标。更新:Mohsen的回答很接近。需要更新几个语法/需求错误才能工作。由于某种原因,原始应用程序可以运行并且可以调用部门应用程序服务。但是,它不能调用Xunit。最后使用原始应用程序的启动和配置让Testserver工作。现在收到以下错误:Message:Thefollowingconstructorparametersdidn
在某些情况下,我不关心抛出什么异常(只要抛出一些异常即可)。不幸的是,Assert.Throws(someDelegate);除非恰好抛出Exception的实例(因此不是派生类的实例),否则不会通过。我知道我可以获得我想要的行为Exceptionexception=Record.Exception(someDelegate);Assert.NotNull(exception);但它读起来不对。我是否在xUnit中遗漏了一些具有我想要的行为的东西?这里有两个测试表明我的意思:[Fact]publicvoidThrows_exception_and_passes(){Exceptione
我习惯使用XUnit.net来满足我在C#项目中的所有单元测试需求。对于我的个人项目,我使用TeamCity作为我的CI服务器并使用正确的插件,单元测试正确启动并在TeamCity中正确报告结果。但是在工作中我们不得不使用Jenkins作为我们的CI服务器。我想知道Jenkins是否正确支持XUnit.net(以及XUnit.net理论)。我看到了一个用于Jenkins的插件XUnit,它可以支持各种XUnit框架,但是我没有在Jenkins中找到任何与XUnit.net框架支持相关的指南或讨论。我主要想知道我是否可以开始实现基于XUnit.net的单元测试(以及理论),并且请放心,J