例如,我们有两个类:basetest和test。测试扩展basetest。 BaseTest.class
包含2个方法 @BeforeEach
注解。
@BeforeEach
void setUp1() {}
@BeforeEach
void setUp2() {}
``` `Test.class` 包含2个方法 `@Test` 注解。
@Test
void test1() {}
@Test
void test2() {}
有没有办法把 `@BeforeEach` 方法 `@Test` 方法,所以 `setup1()` 只会在 `test1()` 以及 `setup2()` 只会在 `test2()` ?
2条答案
按热度按时间xe55xuns1#
一个明显的答案是:不要那样做!
单元测试的目的是帮助您快速识别生产代码中的中断。因此一个基本原则是:保持一个非常简单的结构。
一个好的单元测试的一个方面是:你看看测试方法,你就知道发生了什么。如果有的话,你必须滚动到一些
setUp()
方法(同一文件!)看看发生了什么。您要做的是,未来的读者不仅必须了解基类,还必须了解每个测试方法使用不同机制的复杂逻辑。
因此,是的,避免代码重复对单元测试也很重要。但是,您可以通过应用用于生产代码的相同模式来避免“到达目标”。
3lxsmp7m2#
你不能真正做到这一点,但是你可以将测试用例与
@Nested
班级。