问题标签 [xunit.net]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
14 回答
96289 浏览

unit-testing - Assert.Fail() 被认为是不好的做法吗?

我在做 TDD 时经常使用 Assert.Fail。我通常一次只做一个测试,但是当我对以后想要实现的东西有想法时,我会快速编写一个空测试,其中测试方法的名称表明我想要作为待办事项列表来实现的内容。为了确保我不会忘记我在正文中放了一个 Assert.Fail() 。

在尝试 xUnit.Net 时,我发现他们没有实现 Assert.Fail。当然,您始终可以 Assert.IsTrue(false) 但这也不能传达我的意图。我的印象是 Assert.Fail 不是故意实施的。这被认为是不好的做法吗?如果是,为什么?


@Martin Meredith 这不正是我所做的。我确实先编写一个测试,然后实现代码以使其工作。通常我会同时考虑几个测试。或者当我在做其他事情时,我会考虑写一个测试。那时我写了一个空的失败测试来记住。到我开始编写测试时,我整齐地先测试。

@Jimmeh 这看起来是个好主意。忽略的测试不会失败,但它们仍会显示在单独的列表中。必须尝试一下。

@Matt Howells 好主意。在这种情况下,NotImplementedException 比 assert.Fail() 更好地传达意图

@Mitch Wheat 这就是我想要的。似乎它被遗漏了以防止它以另一种方式被滥用,我滥用它。

0 投票
2 回答
3168 浏览

.net - 帮助排除 System.BadImageFormatException:

在通过联系本地 Web 服务的 .NET 3.5 SP1 项目进行调试时,我收到异常

System.BadImageFormatException:“错误的类令牌”

当然,没有更多关于导致异常的详细信息。

我可以看出发生这种情况的方法,它与调用者在同一个类中,调试器无法到达。此异常发生在调用联系 Web 服务的方法时。我确实有其他方法与 Web 服务通信,所以参考很好。

我对该方法的单元测试也因同样的异常而失败。
更正:我对该方法的单元测试是成功的,加剧了混乱。

有谁知道追踪此异常的方法?我已阅读有关异常类的文档,这使我相信其中一个程序集的版本不正确,或者构建存在问题。

在解决此异常时,您还建议采取哪些其他步骤?

0 投票
7 回答
132068 浏览

unit-testing - NUnit vs. MbUnit vs. MSTest vs. xUnit.net

有很多针对 .NET 的单元测试框架。我发现了这个小功能比较:http: //xunit.github.io/docs/comparisons.html

现在我要为我们选择最好的一个。但是怎么做?有关系吗?哪一个最有未来的证明并且背后有不错的动力?我应该关心这些功能吗?虽然 xUnit 似乎是最现代的并且是专门为 .NET 设计的,但 NUnit 似乎再次被广泛接受。MSTest 再次已集成到 Visual Studio ...

0 投票
4 回答
1058 浏览

.net - 是否有 .NET 测试的测试运行程序可以运行多线程以利用多核机器?

我目前正在设置 CI,使用 Thoughtworks Studios 的 Cruise、Gallio 来运行 xunit.net fact/tests,并使用 ncover 2 来进行代码覆盖。

我注意到运行代码覆盖率与我们的构建代理服务器拥有的四个 CPU 之一挂钩,并且想知道是否有一个多线程测试运行程序可以代替我使用,以利用其他 3 个内核闲着?我进行了快速搜索,但大多数命中都是关于测试多线程代码,而不是多线程测试运行......

0 投票
11 回答
29581 浏览

c# - 使用返回随机结果的函数进行单元测试

我不认为这是特定于语言或框架的,但我使用的是 xUnit.net 和 C#。

我有一个函数可以返回一定范围内的随机日期。我传入一个日期,返回日期总是在给定日期之前 1 到 40 年的范围内。

现在我只是想知道是否有一个好的方法来对此进行单元测试。最好的方法似乎是创建一个循环并让函数运行 100 次,并断言这 100 个结果中的每一个都在所需的范围内,这是我目前的方法。

我也意识到,除非我能够控制我的随机生成器,否则不会有完美的解决方案(毕竟,结果是随机的),但我想知道当你必须测试返回随机结果的功能时你会采取什么方法一定范围?

0 投票
2 回答
3560 浏览

xunit.net - 使用 TestDriven.net 运行 XUnit.net 测试

我已经使用 NUnit 多年了,我想试试 XUnit。所以我安装了 XUnit 并运行了允许您通过 TD.net 运行 XUnit 的可执行文件。

我似乎一次不能运行多个测试。使用 NUnit + TD.net,我可以单击解决方案中的文件名并运行文件中的所有测试。我似乎无法用 XUnit + TD.net 做到这一点。

这是我能做的吗?

0 投票
3 回答
2805 浏览

nant - 如何自动化 TeamCity 中控制台应用程序的单元测试?

我编写了一个包含许多单元测试的控制台应用程序,我想将它包含在我的 nant 构建脚本中,以便它将在我们的 TeamCity CIS 上运行。

不幸的是,我不太确定该怎么做。nant 脚本包含已添加的当前项目的示例……它们都必须提供需要测试的程序集。即 MyProject.dll 但我的控制台应用程序没有类似的东西,因为它编译成 MyProject.exe

必须有一种方法可以自动执行这些测试,因为我能够在 Visual Studio 中毫无问题地运行单元测试。

有谁知道这是否以及如何可能?

0 投票
2 回答
4231 浏览

c# - 扩展 xUnit.NET 以在处理类和定位测试方法时使用自定义代码

我是 xUnit.NET 框架的忠实粉丝。我发现它轻巧、简单、干净且可扩展。

现在假设我有这样的课程:

对于上面的测试类,我希望 xUnit.NET 查看 2 个测试用例并在每个测试用例之前运行因为()方法。

撇开您可能对我的类或方法名称、此测试/规范的结构、xUnit.NET 框架或 BDD 有任何问题,这是我的问题:

如何告诉 xUnit.NET 我想自定义它如何识别和执行此类之外的测试方法,而不在每个目标测试方法上使用自定义 [Fact] 类属性?

我知道我可以从 BeforeAfterAttribute 派生来用自定义的执行前后装饰每个测试方法。我怎样才能在课堂上做到这一点?我必须编写自定义跑步者吗?

0 投票
2 回答
2370 浏览

tfs - 如何让 Team Build 显示 xUnit.net 测试套件的测试结果和覆盖率?

有没有人成功让 Team Build 在构建报告中显示 xUnit.net 测试结果和代码覆盖率?MSBuild 运行程序运行良好,结果在日志文件中,但构建报告的测试结果和代码覆盖结果区域分别显示“无测试结果”和“无覆盖结果”。Team Build 是否正在为 xUnit.net 运行程序导出的测试结果寻找特定位置/格式?

0 投票
6 回答
6316 浏览

unit-testing - 在 CC.Net 上的 Watin 测试失败

我在 Windows Server 2003 下的 CC.Net 上使用 xUnit 运行 Watin 测试。

我有很多测试在使用 TestDriven.Net 的开发箱和使用 xUnit gui 应用程序的服务器上运行良好。但是,当 CC.Net 运行测试(作为 MSBuild 任务的一部分)时,函数

从不返回预期值。IE 对象上的其他函数和属性似乎工作正常:Button(...).Click()、TextBox(...).Value 等。

我知道服务帐户需要“允许服务与桌面交互”。

我已经在本地系统和本地管理员下尝试过这个正在运行的 CC 服务。管理员帐户只是挂起并且似乎从未完成运行测试(尽管它确实创建了 iexplorer.exe 进程的实例。

这是服务器权限的问题,还是我在配置中遗漏了一些东西?