组织单元测试有三种方法:按夹具,类或特征测试.但TestClass的NUnit属性称为TestFixture.这有什么历史原因吗?
yba*_*kos 19
我尊重Mike Two的回应,但我会断言NUnit团队弄错了,并且使用[TestFixture]NUnit是一个语义疣.测试类不是固定装置.根据我对JUnit的研究,我没有找到任何关于测试类作为测试夹具的引用,也没有找到关于测试类的"测试夹具"的讨论.相反,关于夹具的所有JUnit/xUnit讨论都与设置和拆卸有关,当然,这是用于设置实际测试夹具的常用方法.
请注意,在NUnit 2.5中,您可以删除[TestFixture]注释.
更新:(2012年7月)
我刚刚阅读了黄瓜书,在第99页,作者Matt Wynne解释了使用"夹具"的起源.我引用:
有一个悠久的传统(来自硬件世界,测试装置的起源)调用测试系统和被测系统之间的链接.这是我们在本书中称为自动化代码的"胶水代码"角色.FIT测试框架使用该术语的含义.一些单元测试工具(例如NUnit)通过将测试用例类本身称为夹具而进一步混淆了该问题.无处不在的语言!(Wynne&Hellesoy,2012)
Mik*_*Two 17
主要的历史原因是NUnit从JUnit开始直接生产,junit称它为测试夹具.
NUnit 1.0早于我的时间,但我被告知它是通过将JUnit中的所有.java文件重命名为.cs文件并尝试编译而开始的.它已从那里修复,并添加了一个用户界面.当我加入NUnit 2.0时,NUnit 1.0中仍然有一个方法被调用,IsVisualAgeForJava因为当时JUnit有特殊的行为.
在NUnit 2.0中,我们的目标是使NUnit更加.NET.所以我们添加了属性和一堆其他东西.我们所有人都来自java背景,并与JUnit合作多年.使用起来似乎很自然[TestFixture].
现在你问起来了,我只是查了一下.
测试夹具是在测试运行之前必须建立的固定基线状态,这样结果是可预测和可重复的.在单元测试框架中,我们使用SetUp和TearDown属性/方法来创建/销毁测试夹具(例如,使用正确的对象初始化实例变量).
| 归档时间: |
|
| 查看次数: |
14208 次 |
| 最近记录: |