jjzjj

c# - 单元测试 session 窗口在调试时关闭

当我在单元测试session窗口中选择一个NUnit测试并单击调试时,该窗口消失了。我的断点已命中,但如果我按下F5,单元测试session窗口不会返回,直到测试返回结果或我停止调试session。这使我无法在测试期间查看任何控制台输出。有什么想法吗? 最佳答案 原来是ResharperTestRunner行为不端。答案是使用ReSharper->Windows->UnitTestSessions或Ctrl+Alt+R如果使用IntelliJ快捷方式。 关于c#-单元测试session窗

c# - Nunit:是否可以让测试出现嵌套

我想测试一个具有高圈复杂度的方法(叹息),我想在测试类中有一个类,这样一个方法测试类就会作为树中的一个节点出现。Nunit是否可行?如何实现?MyEntityTests|L_MyComplexMethodTestsLwhen_some_condition_thanLwhen_some_other_condition_than[TestFixture]publicclassMyEntityTests{[TestFixture]publicclassMyComplexMethodTests{[Test]publicvoidwhen_some_condition_than(){}etc...

c# - 带参数的 Nunit 测试设置方法

我们可以有一个带参数的测试设置方法吗?我需要为夹具中的每个测试进行不同的设置。我们是否有一些(或类似的方式)作为假设的想法:[SetUp][Argument("value-1")][Argument("value-2")][Argument("value-3")]publicvoidInitializeTest(stringvalue){//setenvvarwithvalue} 最佳答案 可以使用带有参数的TestFixture属性来完成。如果类中的所有测试都依赖于相同的参数,这就是方法。该类需要一个构造函数,该构造函数具有传递给

c# - 依赖项目之间的依赖关系不流动,导致 System.IO.FileNotFoundException

假设我的解决方案有2个项目:第一个称为“MainProject”(一个.NETStandard2.0项目)。第二个称为“MainProjectTests”(一个NUnit测试项目),每个类的一些单元测试都放入“MainProject”。第一个项目(MainProject)有一个名为“dependencyX”的NuGet依赖项。显然,项目“MainProjectTests”引用了“MainProject”。因此,当测试运行器运行“MainProjectTests”测试时,使用“dependencyX”从“MainProject”调用方法时,我得到了一个System.IO.FileNotF

c# - 开始使用 Moq 和 Nunit 时遇到困难

我用头撞墙试图让一个非常简单的测试场景正常工作。我确定我错过了一些非常简单的东西!无论我做什么,在针对我的DLL运行测试时,我似乎都会从NUnitgui中得到以下错误:System.TypeLoadException:来自程序集“DynamicProxyGenAssembly2,Version=0.0.0.0,Culture=neutral,PublicKeyToken=null”的类型“CaSTLe.Proxies.ITestProxy”正试图实现一个不可访问的接口(interface)。现在,在查看StackOverflow和其他地方时,我已经在很多地方看到了对这个错误的引用,但我

c# - ReSharper 单元测试运行程序对外部类给出不确定性

我有使用nUnit编写的单元测试,测试的结构与PhilHaack'spost中的类似namespaceMyNamespace{[TestFixture]publicclassClassToTest{[TestFixture]publicclassMethodToTest{[Test]publicvoidThrowsArgumentNullException_OnNullIndex(){...}..moretestsforthemethod..}[TestFixture]publicclassAnotherMethodToTest{[Test]publicvoidThrowsArgume

c# - 如何使用 NUnit 中的指定容差比较 double ?

我目前正在为属于我的产品的DLL开发一个C#P/invoke包装器。我没有使用C#的经验,这是我完成的第一个重要的C#编码。我敏锐地意识到,我对这门语言的要点和习语缺乏很多了解。我的问题涉及我正在使用NUnit编写的单元测试。我需要比较double[]变量的值。如果我使用Assert.AreEqual(...)来执行此操作,则会比较这些值是否完全相等。但是,我想比较一个公差。有AreEqual()重载标量实数值,允许delta参数。但是,我一直无法找到数组的等效项。我错过了一些明显的东西吗?目前我已经用下面的代码解决了这个问题:classAssert:NUnit.Framework.A

c# - 使用基于约束的断言提高断言 IsNotNullOrEmpty 的可读性

我目前正在重写一些单元测试以使用NUnit3而不是NUnit2,并且需要将一些断言更改为基于约束的断言。我有以下断言:Assert.IsNullOrEmpty(result);我已经更改为:Assert.That(result,Is.Null.Or.Empty);但是,我对断言IsNotNullOrEmpty时的可读性并不完全满意:Assert.That(result,Is.Not.Null.And.Not.Empty);我目前的建议是创建以下静态类:publicstaticclassText{publicstaticEmptyConstraintIsNullOrEmpty=>Is.N

c# - 具有通用测试的 Nunit 基类

我正在使用nunit为某些类做一些测试。有几个操作对所有测试类都是通用的,但需要不同的参数才能工作。所以我在基类中添加了测试,在基类中添加了虚方法来提供参数。在派生测试类中,我重写了虚拟方法以为基类中的测试提供特定参数。现在我的问题是我希望基类中的测试只从派生类中执行。我目前在基类上使用ignore属性来忽略测试,但这会在运行测试时引起一些警告,并且如果有许多被忽略的测试,则有一个策略不允许我将更改提交到svn。那么如何在不使用基类的ignore属性的情况下仅从派生类中的基类运行测试。 最佳答案 您应该能够将您的基类标记为抽象类,这

C#,NUnit 在循环中断言

我有一项学校作业,我需要创建一种数据驱动的NUnit测试风格。使用下面的代码,我能够从数据库中获取数据,但每次“断言”调用失败时,测试都会停止。有什么方法可以将循环的结果实际显示为六个不同的测试(考虑到我的数据库中有六行)?namespaceTestClasses{[TestFixture]publicclassTestingClass:ConnectionClass{privateProductManagementpm;[TestFixtureSetUp]publicvoidCreateTestClass(){pm=newProductManagement();}[TestCase]