- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
美好的一天!我在与测试相关的问题上寻求帮助,但出现错误:刚开始学习Junit5,所以不明白为什么会报错
我使用了各种可能的解决方案来解决这个问题,但不幸的是它们导致了更多的错误: Junit 5 - No ParameterResolver registered for parameter
org.junit.jupiter.api.extension.ParameterResolutionException: No ParameterResolver registered for parameter [com.example.InsurancePremiumCalculator.service.PolicyServiceImpl policyService] in constructor [public com.example.InsurancePremiumCalculator.service.PolicyServiceTest(com.example.InsurancePremiumCalculator.service.PolicyServiceImpl)].
at org.junit.jupiter.engine.execution.ExecutableInvoker.resolveParameter(ExecutableInvoker.java:200)
at org.junit.jupiter.engine.execution.ExecutableInvoker.resolveParameters(ExecutableInvoker.java:183)
at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:74)
at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.invokeTestClassConstructor(ClassBasedTestDescriptor.java:333)
at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.instantiateTestClass(ClassBasedTestDescriptor.java:280)
at org.junit.jupiter.engine.descriptor.ClassTestDescriptor.instantiateTestClass(ClassTestDescriptor.java:77)
at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.instantiateAndPostProcessTestInstance(ClassBasedTestDescriptor.java:262)
at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$testInstancesProvider$2(ClassBasedTestDescriptor.java:256)
at java.util.Optional.orElseGet(Optional.java:267)
at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$testInstancesProvider$3(ClassBasedTestDescriptor.java:255)
at org.junit.jupiter.engine.execution.TestInstancesProvider.getTestInstances(TestInstancesProvider.java:29)
at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$prepare$0(TestMethodTestDescriptor.java:108)
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.prepare(TestMethodTestDescriptor.java:107)
at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.prepare(TestMethodTestDescriptor.java:71)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$prepare$1(NodeTestTask.java:107)
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.prepare(NodeTestTask.java:107)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:75)
at java.util.ArrayList.forEach(ArrayList.java:1257)
at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139)
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125)
at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123)
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80)
at java.util.ArrayList.forEach(ArrayList.java:1257)
at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139)
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125)
at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123)
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80)
at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32)
at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57)
at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:51)
at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:248)
at org.junit.platform.launcher.core.DefaultLauncher.lambda$execute$5(DefaultLauncher.java:211)
at org.junit.platform.launcher.core.DefaultLauncher.withInterceptedStreams(DefaultLauncher.java:226)
at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:199)
at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:132)
at com.intellij.junit5.JUnit5IdeaTestRunner.startRunnerWithArgs(JUnit5IdeaTestRunner.java:69)
at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:33)
at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:230)
at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:58)
测试类代码:
import com.example.InsurancePremiumCalculator.domain.InsuredObject;
import com.example.InsurancePremiumCalculator.domain.Policy;
import com.example.InsurancePremiumCalculator.domain.PolicyStatus;
import com.example.InsurancePremiumCalculator.domain.SubInsuredObject;
import com.example.InsurancePremiumCalculator.validation.InsuranceRiskType;
import org.junit.jupiter.api.Test;
import java.math.BigDecimal;
import java.util.List;
import static org.junit.jupiter.api.Assertions.assertEquals;
public class PolicyServiceTest {
private final PolicyServiceImpl policyService;
public PolicyServiceTest(PolicyServiceImpl policyService) {
this.policyService = policyService;
}
@Test
public void shouldCalculatePremium() {
SubInsuredObject subInsuredObject = new SubInsuredObject("TV", BigDecimal.valueOf(1000), InsuranceRiskType.FIRE);
InsuredObject insuredObject = new InsuredObject("House", (List<SubInsuredObject>) subInsuredObject);
Policy policy = new Policy("ENM102938311", PolicyStatus.REGISTERED, (List<InsuredObject>) insuredObject);
BigDecimal actual = policyService.calculatePremium(policy);
assertEquals(BigDecimal.valueOf(24), actual);
}
}
截图:
最佳答案
去掉导致异常的构造函数参数。您可能希望在 @BeforeEach
方法中初始化/设置 policyService
。
public class PolicyServiceTest {
private final PolicyServiceImpl policyService;
@BeforeEach
initializeService() {
this.policyService = new PolicyServiceImpl();
// Do whatever kind of initialization the policy service requires
}
@Test
public void shouldCalculatePremium() {
...
}
}
关于java - .ParameterResolutionException : No ParameterResolver registered for parameter [jUnit 5 Tests],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62601950/
我正在更新a boilerplate中使用的babel包,从 babel-core、babel-register 等到@babel/core、@babel/register > 等 问题:在 npm
为了在 Babel 中进行运行时转换,您需要 require 并使用 babel-core/register。我不知道 register 在这个意义上意味着什么,即实际的定义。 The page is
我们可以使用“babel-register”即时转换源代码 https://babeljs.io/docs/usage/require/ 但我无法验证要使用哪一个: require('babel-co
我有一个用 RAL 建模的大寄存器映射,我想随机化一些寄存器。如果我想单独限制寄存器,那么这很简单: reg_model.register_a.randomize() with {value > 5;
我正在尝试制作一个使用 django 内置用户模型的简单应用程序。我已经创建了一个注册页面,但是当我运行服务器时,我在索引页面上收到此错误。这是我正在使用的代码: 注册.html {% extend
我正在尝试制作一个使用 django 内置用户模型的简单应用程序。我已经创建了一个注册页面,但是当我运行服务器时,我在索引页面上收到此错误。这是我正在使用的代码: 注册.html {% extend
在下面的应用程序中,我尝试将 id 动态添加到生成的项目中。我的代码工作正常,但是当我在其中添加以下两行注释时。它抛出错误 Uncaught Ext.AbstractManager.register(
当我尝试运行 SignUpFragmentTest 类时,出现错误“未注册检测!必须在注册检测下运行”。我认为当我使用@Rule 时会抛出错误。 import android.support.test
到目前为止,我目前的理解是:movq %rdi, %rax 将值从寄存器 %rdi 移动到寄存器 %rax 和movq (%rdi), %rax 会将内存中的值从(%rdi) 移动到寄存器%rax 但
我做了一个common view,所有页面都需要这个view。所以无论我需要什么,我都将这个 View 称为 xtype 。在这个公共(public) View 中,有一些组件由 id 值定义。 根据
app.get("/register", function(req, res) { res.render("register"); }); app.get("register", function(r
我目前正在开发我的个人网站 和我的网站的一部分,我有偏见的公关,以避免重复的代码... 这个 View 我有一个dojox.grid.datagrid ... 我可以在同一页面中两次调用此 View
调试版本对我来说工作正常。当我选择Active Build Variant = release,并尝试运行Build-> Generate Bundle(s)/ APK(s)-> Build APK时
我创建了一个异步函数如下: let createUserWrapper = async function(user){ await Log.createUser(use
我在 Dojo 的内容 Pane 中遇到问题,它出现一秒钟,然后内容消失。我收到以下错误: Uncaught ReferenceError: dijit is not defined index.p
我正在尝试在前端使用 React 创建一个注册表单,并在后端使用 Typescript 创建 Express 和 MongoDB atlas。当我单击提交按钮时,没有任何反应,但是当我使用 Postm
我已经使用 graph ql(具有非常基本的模式)创建了一个 Node js 项目,但是当我在为 graphql 和 graphiql 注册插件后尝试启动服务器时,我收到注册丢失错误。下面是我的代码
我的计算机体系结构书籍解释说 "Since writes to the register file are edge-triggered, our design can legally read an
我有一个 Google Pub/Sub 项目并创建了一个主题和一个简单的订阅。 但是,在指定用于推送的 URL 时,我不断收到以下错误。我已经完成了站点验证过程并在 API 和服务中注册了域,如 ht
您好,我在再次选择 DOJO 中的下拉菜单时遇到错误 function onReportTypesSelect() { if(
我是一名优秀的程序员,十分优秀!