我知道每个测试框架的答案可能不同。但对于那些你知道的,会发生什么?测试套件设置方法是针对每个测试执行一次还是仅针对所有测试执行一次?
5
A
回答
4
在MSTest的,你有TestInitializeAttribute
当负荷试运行,标志着具有这种属性的方法将在测试每个虚拟用户重复运行一次。如果您需要进行一次初始化操作,适用于整个测试,请使用ClassInitializeAttribute。
AssemblyInitializeAttribute
对所有类的所有测试运行一次。
4
在NUnit中,您有TestFixtureSetUp
,它在夹具运行的所有测试运行前只运行一次,而在运行每种测试方法前运行的运行SetUp
。
3
这当然取决于框架,对于具体的答案你应该检查相关的文档。
设置测试方法或固定装置是有用的,但不应滥用。如果单元测试有complex set up methods你可能会认为它们更像集成测试,因此应该重构。一个复杂的测试设置是一种代码味道。另一方面,明智地使用方法可以减少重复并使测试更具可读性和可维护性。
1
在junit4你有注释可用来标记这两种安装/拆卸方法。以下是摘要:
- 每个测试套件使用前运行安装程序
@BeforeClass
- 运行的每个测试套件使用
@AfterClass
- 在套房内使用的每个测试方法之前运行安装程序后推倒
@Before
- 运行拆除每个测试方法后在您的套件中使用
@After
相关问题
- 1. 仅针对多个测试用例登录一次 - Selenium,JUnit
- 2. 仅对单一方法运行测试
- 3. RSpec:想要针对一次性方法进行多次测试,包括灯具
- 4. 如何在执行另一个测试后执行测试?
- 5. 在Go中还是一个一个地执行测试?
- 6. Firebase - 无法针对独立测试项目运行测试
- 7. 在C#中如果我可以第一次测试停止其他测试或执行所有测试吗?
- 8. 多个单元测试项目 - 一次运行所有测试,但每次只有一个项目
- 9. 仅针对数组列表中的每个ID执行一次
- 10. 如何为每个测试类启动一次活动,而不是每种测试方法一次?
- 11. 我怎么能执行测试方法后,每次几个测试这是使用数据提供
- 12. 获取针对测试计划执行的所有测试运行详细信息ID
- 13. VS2010负载测试:如何执行在每次负载测试之前运行一次的自定义操作
- 14. 用pytest执行几次测试
- 15. QTest执行测试用例两次
- 16. Android Espresso - 如何为所有测试只运行一次设置
- 17. Junit为整个集成测试设置了一次(所有测试类)
- 18. CI +测试:针对数据库运行单元测试
- 19. 针对Post方法的单元测试
- 20. 什么是对FormattedText执行命中测试的好方法?
- 21. Elixir TDD测试仅在保存测试文件时执行
- 22. Xunit:在一种测试方法中执行所有'断言'?
- 23. 执行测试类
- 24. 执行Nunit测试
- 25. 针对黑客行为的测试
- 26. Selenium IDE:在测试中执行测试
- 27. 执行测试和单元测试
- 28. 从Python unittest测试套件执行特定测试?
- 29. 从另一个测试多次运行测试
- 30. 针对许多程序自动执行兼容性测试