Bre*_*gby 9 parallel-processing unit-testing
我正在考虑对我们的项目使用并行单元测试,并且想知道实际编写这种并行单元测试的任何最佳实践.
如果通过并行单元测试你的意思是可以同时运行的测试,我可以给你的最重要的建议是避免所谓的共享夹具.
本书xUnit测试模式描述了术语Fixture,它基本上可以描述为每个测试用例执行的整个上下文,包括持久和瞬态数据.
共享夹具表示测试用例在运行时共享一些上下文.如果该上下文是可变的,则可能发生竞争条件.
保持共享夹具不可变(一个所谓的不可变共享夹具)将允许您并行运行测试,但更好的是,所谓的Fresh Fixtures(每个测试用例都有自己的Fixture)根据定义是线程安全的,因为只有测试用例本身才能访问Fixture.
共享夹具的示例包括使用共享数据库的任何类型的测试,但也包括在被测系统(SUT)或测试本身中具有静态内存状态的测试,因此您需要避免这种情况.
您还应该记住,如果您的SUT访问共享(静态)数据,则该访问本身必须是线程安全的.
| 归档时间: |
|
| 查看次数: |
2460 次 |
| 最近记录: |