- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试借助带有 JUnit 5 的 FizzBuzz 应用程序来理解 JUnit 5。下面是测试用例之一
@DisplayName("Test for multiples of 5")
@ParameterizedTest
@MethodSource("multiplesOf5Inputs")
public void multiplesOf5(Integer input){
String result = fizzBuzz.play(input);
Assertions.assertEquals("Buzz",result);
}
private static Stream<Integer> multiplesOf5Inputs(){
return IntStream.range(1,60)
.skip(15).skip(30).skip(45).skip(60)
.mapToObj(i->i);
}
此测试用例无法执行,抛出以下异常
org.junit.platform.commons.util.PreconditionViolationException: Configuration error: You must provide at least one argument for this @ParameterizedTest
at org.junit.platform.commons.util.Preconditions.condition(Preconditions.java:297)
at org.junit.jupiter.params.ParameterizedTestExtension.lambda$provideTestTemplateInvocationContexts$7(ParameterizedTestExtension.java:60)
at java.util.stream.AbstractPipeline.close(AbstractPipeline.java:323)
at java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:271)
at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1374)
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151)
at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174)
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418)
at org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor.execute(TestTemplateTestDescriptor.java:101)
at org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor.execute(TestTemplateTestDescriptor.java:38)
at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor$NodeExecutor.lambda$executeRecursively$3(HierarchicalTestExecutor.java:112)
at org.junit.platform.engine.support.hierarchical.SingleTestExecutor.executeSafely(SingleTestExecutor.java:66)
at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor$NodeExecutor.executeRecursively(HierarchicalTestExecutor.java:108)
at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor$NodeExecutor.execute(HierarchicalTestExecutor.java:79)
at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor$NodeExecutor.lambda$executeRecursively$2(HierarchicalTestExecutor.java:120)
at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184)
at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175)
at java.util.Iterator.forEachRemaining(Iterator.java:116)
at java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801)
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151)
at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174)
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418)
at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor$NodeExecutor.lambda$executeRecursively$3(HierarchicalTestExecutor.java:120)
at org.junit.platform.engine.support.hierarchical.SingleTestExecutor.executeSafely(SingleTestExecutor.java:66)
at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor$NodeExecutor.executeRecursively(HierarchicalTestExecutor.java:108)
at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor$NodeExecutor.execute(HierarchicalTestExecutor.java:79)
at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor$NodeExecutor.lambda$executeRecursively$2(HierarchicalTestExecutor.java:120)
at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184)
at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175)
at java.util.Iterator.forEachRemaining(Iterator.java:116)
at java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801)
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151)
at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174)
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418)
at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor$NodeExecutor.lambda$executeRecursively$3(HierarchicalTestExecutor.java:120)
at org.junit.platform.engine.support.hierarchical.SingleTestExecutor.executeSafely(SingleTestExecutor.java:66)
at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor$NodeExecutor.executeRecursively(HierarchicalTestExecutor.java:108)
at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor$NodeExecutor.execute(HierarchicalTestExecutor.java:79)
at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:55)
at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:43)
at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:170)
at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:154)
at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:90)
at com.intellij.junit5.JUnit5IdeaTestRunner.startRunnerWithArgs(JUnit5IdeaTestRunner.java:74)
at com.intellij.rt.execution.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:47)
at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:242)
at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:70)
根本原因可能是什么?
最佳答案
如果您要创建包含 60 个内容的流,然后跳过 60 多个内容...您的流最终会变成空的。
因此,您需要确保 multiplesOf5Inputs()
实际上返回一个非空流。
关于java - Junit配置错误: You must provide at least one argument for this @ParameterizedTest,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50131839/
我有一个测试,我想在其中传递三个参数: 字符串 枚举 字符串数组 例子: @ParameterizedTest @CsvSource({ "/path/to/first
我无法从之前提出的问题中找到错误的原因,因为它们与“@Test”(不允许自定义数据类型)有关。 我有一个程序,它接受字符串类型输入(通常是文本 block ),并以列表的形式返回输入的句子。为了正确测
我正在尝试在 JUnit 5 中开发参数化测试,如下例所示。 @ParameterizedTest @ArgumentsSource(ArgClassProvider.class) void test
我们如何使用Selenium-Jupiter's @TestTemplate (让它在不同的浏览器上运行: https://bonigarcia.github.io/selenium-jupiter/
当您使用 Eclipse TestRunner 运行 JUnit 4 ParameterizedTest 时,图形表示相当笨拙:对于每个测试,您都有一个名为 [0]、[1] 等是否可以给测试 [0]、
我发现 Junit 5 从 5.3 版开始支持并行性,但我没有找到任何关于如何使用 csv 源运行并行测试的引用资料。你有什么建议吗? 最佳答案 或者,您可以创建具有相同内容的 src/test/re
这是 JUnit 中的参数化测试: @ParameterizedTest @ValueSource(strings = {"Username", "User123", "Another use
考虑这个片段: @ParameterizedTest @ValueSource(strings = {"a", "b", "c"}) void test(final String line) {
我试图将来自JUnit4的参数化运行器的概念与JUnit5参数化测试结合起来。本质上,我想在同一组数据上测试两个单独的函数。 我知道我可以将函数作为另一个参数添加到参数化测试本身,但是我试图使更改或添
我有一堆 @ParameterizedTest 从 @MethodSource 接收参数,toString() 结果非常冗长(例如 Selenium 的 网络驱动程序)。这些默认用于组成相应的显示名称
我是 JUnit 测试的新手,我想在 IntelliJ IDEA 2017.3.3 中创建参数化测试。所以我添加了 JUnit 5: 然后 IntelliJ 下载 org.junit.jupiter:
我有使用 TestNG 的单元测试,我尝试转移到 JUnit Jupiter (JUnit 5),我想知道哪种方法最好: 测试NG : @DataProvider public Object[][]
我正在尝试借助带有 JUnit 5 的 FizzBuzz 应用程序来理解 JUnit 5。下面是测试用例之一 @DisplayName("Test for multiples of 5")
我有一个如下所示的 JUnit 4 测试,我正在尝试将 JUnit 升级到 JUnit 5。我做了一些关于如何将 JUnit 4 测试迁移到 JUnit 5 的研究,但找不到任何关于如何迁移以下案例的
目前,我正在(尝试)将现有的 Junit4 项目迁移到 Junit5。 我被困在必须同时使用@RepeatedTest 和@ParameterizedTest 的地方。尝试这样做会引发默认异常 - N
我在尝试使用 JUnit 5 的参数化功能时偶然发现了一个初始化错误。 @ExtendWith(MockitoExtension.class) @RunWith(Parameterized.class
我正在创建一个排序算法库。每个类都有相同的方法: public static > void sort(T[] array) 我会让所有类都实现一个接口(interface)或扩展一个抽象类,但 sor
我是一名优秀的程序员,十分优秀!