配置错误:您必须为此@parameterizedTest配置至少一组参数
我正在尝试运行接口的测试,并阅读应该使用@ParameterizedTest。错误如下所示。
这是我的代码:
package de.rhenus.fl.dpx.commons.mapstruct.date;
import de.rhenus.fl.dpx.commons.business.micronaut.date.EmbeddedOffsetDateTimeOracle;
import org.junit.jupiter.params.ParameterizedTest;
import java.time.OffsetDateTime;
import static org.hamcrest.MatcherAssert.assertThat;
class EmbeddedOffsetDateTimeOracleMapperTest {
final EmbeddedOffsetDateTimeOracleMapper mapper;
final OffsetDateTime NOW = OffsetDateTime.now();
public EmbeddedOffsetDateTimeOracleMapperTest(EmbeddedOffsetDateTimeOracleMapper mapper) {
this.mapper = mapper;
}
@ParameterizedTest
void embeddedOffsetDateTimeOracleToOffsetDateTime() {
EmbeddedOffsetDateTimeOracle embeddedOffsetDateTimeOracle = new EmbeddedOffsetDateTimeOracle();
embeddedOffsetDateTimeOracle.setOffset(0);
embeddedOffsetDateTimeOracle.setValue(NOW.toLocalDateTime());
OffsetDateTime result = mapper.map(embeddedOffsetDateTimeOracle);
assertThat("Same OffsetDateTime", result.equals(NOW));
}
@ParameterizedTest
void offsetDateTimeToEmbeddedOffsetDateTimeOracle() {
EmbeddedOffsetDateTimeOracle embeddedOffsetDateTimeOracle = new EmbeddedOffsetDateTimeOracle();
embeddedOffsetDateTimeOracle.setOffset(0);
embeddedOffsetDateTimeOracle.setValue(NOW.toLocalDateTime());
OffsetDateTime result = mapper.map(embeddedOffsetDateTimeOracle);
assertThat("Same OffsetDateTime", result.equals(NOW));
}
}
这是我的错误:
配置错误:您必须为此@parameterizedTest配置至少一组参数 org.junit.platform.commons.commons.preconditionviolationException:配置错误:您必须为此@parameterizedTest配置至少一组参数 at org.junit.platform.commons.util.util.preconditions.condition(Proconditions.java:281)
我需要在哪里传递参数以进行测试?
I am trying to run tests of a interface and read that i should use @ParameterizedTest. The error is shown below.
Here's my code:
package de.rhenus.fl.dpx.commons.mapstruct.date;
import de.rhenus.fl.dpx.commons.business.micronaut.date.EmbeddedOffsetDateTimeOracle;
import org.junit.jupiter.params.ParameterizedTest;
import java.time.OffsetDateTime;
import static org.hamcrest.MatcherAssert.assertThat;
class EmbeddedOffsetDateTimeOracleMapperTest {
final EmbeddedOffsetDateTimeOracleMapper mapper;
final OffsetDateTime NOW = OffsetDateTime.now();
public EmbeddedOffsetDateTimeOracleMapperTest(EmbeddedOffsetDateTimeOracleMapper mapper) {
this.mapper = mapper;
}
@ParameterizedTest
void embeddedOffsetDateTimeOracleToOffsetDateTime() {
EmbeddedOffsetDateTimeOracle embeddedOffsetDateTimeOracle = new EmbeddedOffsetDateTimeOracle();
embeddedOffsetDateTimeOracle.setOffset(0);
embeddedOffsetDateTimeOracle.setValue(NOW.toLocalDateTime());
OffsetDateTime result = mapper.map(embeddedOffsetDateTimeOracle);
assertThat("Same OffsetDateTime", result.equals(NOW));
}
@ParameterizedTest
void offsetDateTimeToEmbeddedOffsetDateTimeOracle() {
EmbeddedOffsetDateTimeOracle embeddedOffsetDateTimeOracle = new EmbeddedOffsetDateTimeOracle();
embeddedOffsetDateTimeOracle.setOffset(0);
embeddedOffsetDateTimeOracle.setValue(NOW.toLocalDateTime());
OffsetDateTime result = mapper.map(embeddedOffsetDateTimeOracle);
assertThat("Same OffsetDateTime", result.equals(NOW));
}
}
Here's my error:
Configuration error: You must configure at least one set of arguments for this @ParameterizedTest
org.junit.platform.commons.PreconditionViolationException: Configuration error: You must configure at least one set of arguments for this @ParameterizedTest
at org.junit.platform.commons.util.Preconditions.condition(Preconditions.java:281)
Where do I need to pass parameters to run my test?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
对于Junit5,对于每个参数化测试,您需要传递一个值集。您可以参考相同的文档: https ://junit.org/junit5/docs/current/user-guide/#writing-tests-parameterized-tests 。
就您而言,这应该是以下内容:
For Junit5, for each parameterized test, you would need to pass a value set. You can refer to the documentation for the same: https://junit.org/junit5/docs/current/user-guide/#writing-tests-parameterized-tests .
In your case, it should be something as follow: