java如何在JUnit测试中表示参数值无关紧要?
我正在使用JUnit4、Mockito和Hamcrest进行TDD。我当前的测试如下所示:
FeatureFilter featureFilter = FeatureFilter
.describeFeature()
.addFeatureRef("myNewFeature",
thatIsAvailable()
.atEndpoint("/resourceWithFeature"))
.andDisable();
assertThat(featureFilter.isDisabledFor("/resourceWithFeature", null, "myNewFeature"), is(true));
assertThat(featureFilter.isDisabledFor("/irrelevant", null, "myNewFeature"), is(false));
assertThat(featureFilter.isDisabledFor("/resourceWithFeature", null, "self"), is(false));
featureFilter.isDisabledFor
的第二个参数应该是用户名(String
),我希望测试传达的是,在这种情况下,用户名是不相关的。如果我在测试双精度的上下文中,我可以使用Matcher
,比如any(String.class)
,但这不是一个选项
作为一名开发人员,您将如何传达此断言的意图
# 1 楼答案
有一个叫做JUnit Theories的特性
@Test
和Theory
对测试有不同的关注:适用于您的问题: