c# - 测试类可以有属性吗?

标签 c# oop unit-testing testing

我正在为应用程序的单元测试创​​建一个 TestClass,我想做的一件事是运行一个测试方法,检查方法是否正确运行,根据结果在测试类的类属性中存储一个值,然后然后在以后的方法中使用该值。

我试过这样做,发现一旦编译器从一种方法转移到另一种方法,我设置的所有属性都会被清除干净。我检查了断点,在第一个方法的末尾,值在属性中,然后在第二个方法的开头,相同的属性为 null。

查了一下,似乎没有其他人在尝试同样的事情,那么是否可以在方法之间共享一个值,还是我采用了错误的方法?

提前致谢。

最佳答案

您采用了错误的方法。

根据定义,单元测试应该是完全独立的和确定性的。他们不应该相互依赖。

您应该能够将第一个单元测试的重复部分重构为一个可以由其他单元测试调用的辅助方法。这项工作将完成两次,但单元测试应该非常快,因此开销应该非常小。

关于c# - 测试类可以有属性吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11745003/

相关文章:

c# - 在 ASP.NET 中进行数据绑定(bind)时,你怎么知道要使用 Container.DataItem?有引用吗?

Angular 单元测试 - 在 ViewChild 中引用/模拟指令

c# - 处理灵活的命令请求

algorithm - 用适当的设计替换特定顺序的 if/else(基于规则/优先级的 if/else)

python - 如何使用 Flask 测试客户端模拟 AJAX 请求?

ruby-on-rails - 在 Rails 3.2 中,每个模型是否可以有多个夹具文件?

c# - 比较包含大量对象的两个列表(第 2 部分)

c# - 在 C# 中实现 "percent chance"

c# - C# 编译器是否计算常数的数学?

r - 当 `methods` 失败时,如何判断函数调用正在使用什么方法?