c# - 如何重新安排单元测试?

标签 c# unit-testing

我有 VS 2012。所有测试都按字母顺序执行。我如何执行自己的测试执行顺序?我尝试在 StackOverflow 和谷歌上搜索该主题,但没有收到任何结果。

最佳答案

有不错FIRST编写有效单元测试的原则:

  • 快速 - 测试应该运行得非常快,这样您就可以经常运行它们。如果您不经常运行测试,那么您的代码给您的反馈会有某种延迟。该延迟的持续时间表明您可以编写多少代码,直到您明白自己破坏了某些东西。
  • 孤立 - 这就是你试图违反的 - 测试不应该相互依赖,并且它们应该有单一的失败原因。如果测试失败,您应该能够说出失败的确切原因,而无需对其进行调试和调查上下文、环境、依赖关系或其他条件。
  • 可重复 - 无论您何时运行,测试都应该产生相同的结果。否则测试结果不确定,这样的测试有争议的值(value)。
  • self 验证 - 测试结果应该很清楚 - 你不应该去调查一些测试输出。如果应该检查某些东西,应该由测试本身来完成。
  • 及时 - 在编写代码之前编写它们,即使用 TDD。

因此,如果您的测试取决于它们运行的​​顺序,那么您的测试失败的原因不止一个——如果实现不符合要求,它们可能会失败,或者如果实现正确,但测试已在错误的顺序。这使得测试结果不确定。

关于c# - 如何重新安排单元测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22693674/

相关文章:

c++ - 如何在 C++ 中编写单元测试?

c# - 在 VS2005 单元测试中是否可以断言已调用方法?

c# - Nunit 未在测试项目类库 (VS2012) 中遇到断点

c++ - 单元测试应用程序到硬件的接口(interface)——模拟与否

unit-testing - 如何测试在 Kotlin 中调用顶级函数的代码?

c# - 直方图/柱形图不显示一直到底部的条形图

c# - 序列化包含 XDocument 的属性

c# - 哪些结构使用 .NET 4 中的 ThreadPool?

c# - 改进解析解决方案

c# - int 值 + 1 的问题给出了意想不到的值