我使用Spring MVC创建了一个RESTful服务。我使用spring-test mvcmock创建了一个集成测试来测试我的Rest控制器。
当我使用run as Junit运行此测试时。它运行正常。
但是,在mvn install
期间执行相同的测试时,请使用surefire插件。这个测试抱怨投掷致命错误:
没有类型的限定bean ...
当我检查以前的日志时,它说它加载了0依赖。 这是日志:
DEBUG XmlBeanDefinitionReader - 从位置模式加载0个bean定义[classpath *:service-test-context.xml]
然而,我再次将此测试类作为Junit运行,我可以看到"在相同的日志行中加载了23个bean。"
问题:请问您能提出什么问题?
注意:
这是多maven模块应用程序,并且没有注入另一个模块的依赖性。
当我以Junit的身份运行这个测试时,我遇到了同样的问题。然后我在eclipse中添加了依赖模块>构建>项目和问题在JUnit中运行时得到解决。现在在执行mvn install
时遇到此问题。
答案 0 :(得分:0)
您的surefire配置是否包含包含参数?
“指定应包含在测试中的测试(按模式)的元素列表。未指定且未指定测试参数时,默认包括
var request = require("request"),
fs = require("fs"),
views = ['sitename1', 'sitename2', 'sitename3'...]
for (var view in views) {
request({
url: 'http://' + SERVERURL + '/api/2.2/sites/' + siteID + '/workbooks/' + views[view]['workbookID'] + '/views/' + views[view]['id'] + '/previewimage',
headers: {
'Content-Type': 'image/png',
'X-Tableau-Auth': authToken
}
, encoding: 'binary'}).pipe(
fs.createWriteStream('./public/images/thumbnails/' + SITE + '/views/' + views[view]['url'] + '.png'
))
};
“
轻松修复是重命名您的测试运行器,使其以 Test.java 结束。然后
<includes>
<include>**/Test*.java</include>
<include>**/*Test.java</include>
<include>**/*TestCase.java</include>
</includes>
会捡起来。
<强>更新强>
另一种选择是:
“测试: 指定此参数以按文件名运行单个测试,覆盖includes / excludes参数。您在此处指定的每个模式将用于创建格式为** / $ {test} .java的包含模式,因此您只需键入“-Dtest = MyTest”即可运行名为“foo / MyTest.java”的单个测试。测试图案前缀为!将被排除在外。 此参数将覆盖includes / excludes参数和TestNG suiteXmlFiles参数。从2.7.3开始,您可以通过添加#myMethod或#my * ethod在测试中执行有限数量的方法。例如,“ - Dtest = MyTest #myMethod”。 junit 4.x和testNg支持此功能。
从2.19开始,一个参数(JUnit 4,JUnit 4.7 +,TestNG)支持复杂语法: “-Dtest = ???测试,!不稳定*,pkg / ** / Ci * leTest.java,测试#test 一个+ testTwo ?????,#fast * + slowTest” “-Dtest = Basic *,!%regex [。 .Unstable。],!%regex [。 .MyTest.class#one。 | two。] ,%正则表达式[#fast。 |慢。*]“
参数化JUnit运行器使用括号中的索引描述测试方法,因此非正则表达式模式将变为:#testMethod []。如果使用@Parameters(name =“{index}:fib({0})= {1}”)并选择索引,例如5在模式中,非正则表达式模式将成为#testMethod [5:]。
mvn test
“
因此,如果您的测试运行器名为 foo / MyVeryOwnRunner.java ,您可以执行以下操作
Type: java.lang.String
Required: No
User Property: test