首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SpringRunner/JUnit运行/测试私有(非测试)方法

SpringRunner/JUnit运行/测试私有(非测试)方法
EN

Stack Overflow用户
提问于 2019-04-18 11:48:35
回答 1查看 163关注 0票数 0

我们有一个使用JUnit 4作为测试工具(w/ SpringRunner)的Spring 5应用程序。我们遇到了一个问题,一个没有用@Test注释标记的私有助手方法正在作为测试运行。这种情况发生在( IntelliJ和Maven )中。

方法签名是:

代码语言:javascript
复制
private Optional<TestSuiteJsonObject> createTestSuite(String name, TestType type) throws IOException, LicenseException {

测试类本身类似于:

代码语言:javascript
复制
public class TestSuitesControllerTest extends ControllerTest

这两种方法都没有注释。ControllerTest看起来像:

代码语言:javascript
复制
@RunWith(SpringRunner.class)
@SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT, classes = CompanyTestApplication.class)
@AutoConfigureMockMvc
@Ignore
public class ControllerTest {
   ...
}

行为是使用null参数运行这些测试方法。我们根本不想让他们跑。该类中的其余方法都使用@Test注释进行适当标记。

我想知道单词test在类/方法名称中是否会导致JUnit将其标识为可运行的,但是更改类和方法的名称没有任何影响。

@Ignore添加到私有方法也没有任何效果!

我们做错什么了?我们是否进入了测试安全带实际上是测试工程师的应力响应的另一个维度?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-04-18 12:15:31

这是一个愚蠢的错误,但我会把它留给任何发现自己处于同样情况的未来的人。

我有两个方法--,同名。测试方法:

代码语言:javascript
复制
@Test
@WithMockUser(username = "admin", roles = "ADMIN")
public void createSuite() throws Exception { ... }

帮助者方法:

代码语言:javascript
复制
private static Optional<TestSuiteJsonObject> createSuite(String name, TestType type) { ... }

我们不知怎么掩盖了这件事。‍♂️

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55745409

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档