关于过去两天我遇到的一个问题,我需要你的帮助/指导。
sonar-javascript插件无法获取我的Javascript UnitTests的结果。我正在使用JSTestDriver生成单元测试和lcov结果。 lcov结果正常工作,并在SonarQube中正确显示。我还必须说我正在使用Windows。这是我的错误:
Test result will not be saved for test class "UnitTests.controlesTest", because SonarQube associated resource has not been found using file name: UnitTests\controlesTest.js"
错误与此错误非常类似:Importing javascript XML JUnit tests to sonar using jstestdriver fails。但是,这个错误似乎在最后一个SNAPSHOT(2.8)中得到修复。我尝试访问的文件存储在UnitTests / controlesTest.js中。我试图进入声纳-javascript源代码,并找到解决此问题的方法(至少,尝试理解它)。我最终在函数 getTestFileRelativePathToBaseDir 中的文件JsTestDriverSensor.java中。我发现这行无法获取我的文件(UnitTests \ controles.js)。实际上,fileIterator不包含任何InputFile。
Iterator<InputFile> fileIterator = fileSystem.inputFiles(predicate).iterator();
所以我尝试了不同的谓词来理解为什么找不到我的文件。最后,我发现以下谓词 fileSystem.predicates()。hasType(InputFile.Type.TEST)是找不到此文件的原因。快速解决方法是改变:
- 108 testFilePredicate,
+ 108 mainFilePredicate,
我一定是做错了,也许有人有想法?
答案 0 :(得分:2)
&#34;声纳。测试&#34;必须在sonar-project.properties(或更新版本的SonarQube.Analysis.xml)中设置属性。这允许sonar-javascript插件找到 javascript测试文件。