我从本教程中提取了示例模板代码,并按以下两个步骤开始 -
npm install // worked fine and created node_modules folder with all dependenciesnpm start
//因以下错误而失败 -
node_modules/rxjs/Subject.d.ts(16,22): error TS2415: Class 'Subject<T>'
incorrectly extends base class 'Observable<T>'.
Types of property 'lift' are incompatible.
Type '<T, R>(operator: Operator<T, R>) => Observable<T>' is not assignable
to type '<R>(operator: Operator<T, R>) => Observable<R>'.
Type 'Observable<T>' is not assignable to type 'Observable<R>'.
Type 'T' is not assignable to type 'R'.
npm ERR! code ELIFECYCLE
npm ERR! errno 2
Run Code Online (Sandbox Code Playgroud)我在主题中看到.d.ts电梯声明如下 -
lift<T, …Run Code Online (Sandbox Code Playgroud) 我知道java中的标记界面.它用于定义关于类的特定行为.例如,Serializable接口具有将对象存储到字节流及其反向过程的特定功能.但我不知道这个特定行为的实现位置,因为它没有任何方法.
请指导我解决此问题.
我正在尝试用gradle实现声纳,以便为我的项目进行代码覆盖测量.我们使用的是gradle-4.0.1和sonarqube-6.4.
当我从命令行运行gradle sonarqube时,我收到此错误 -
Plugin with id 'org.sonarqube' not found.
Run Code Online (Sandbox Code Playgroud)
我尝试了几个代码更改,但没有运气,请帮忙.我的build.gradle文件如下 -
buildscript {
ext {
springBootVersion = '1.5.4.RELEASE'
}
repositories {
mavenCentral()
}
dependencies {
classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
}
}
apply plugin: 'org.sonarqube'
apply plugin: "jacoco"
apply plugin: "java"
apply plugin: "war"
apply plugin: "org.springframework.boot"
sonarqube {
properties {
property "sonar.projectName","Spring4WebService Code Coverage Demo"
property "sonar.projectKey", "org.sonarqubeJacocoCodeCoverage"
property "sonar.reportPath" , "${project.buildDir}/jacoco/test.exec"
}
}
test{
ignoreFailures = true
}
ext {
jacocoVersion = '0.7.6.201602180812'
}
sourceCompatibility = 1.8
targetCompatibility = 1.8
repositories …Run Code Online (Sandbox Code Playgroud) 我正在使用 Jacoco 插件进行声纳代码覆盖,并使用强大的模拟 mockito 组合来编写 JUnit 测试用例,而当我运行 mvn clean install 时,构建一切顺利,但控制台显示了一个非常长的堆栈跟踪链,它不断出现项目中使用了很多很多类,而且很烦人,异常跟踪类似于以下-
java.lang.instrument.IllegalClassFormatException: Error while instrumenting class..
Caused by: java.io.IOException: Error while instrumenting class.
Caused by: java.lang.IllegalStateException: Class <class-name> is already instrumented.
Run Code Online (Sandbox Code Playgroud)
我通过以下链接寻求解决方案,但找不到出路:-
https://github.com/jacoco/jacoco/issues/32
Run Code Online (Sandbox Code Playgroud)
链接说“该错误表明为同一进程配置了两个 JaCoCo 代理,看起来激活 surefire-report-plugin 导致双重代理,这不是特例,而是用于测试的 JVM 配置错误“在我的情况下,我猜它甚至不是双重代理,因为我的 argLine 设置为只有一个 jacoco 代理。
在我的情况下,argLine 设置为以下 -
javaagent:C:\\Users\\user\\.m2\\repository\\org\\jacoco\\org.jacoco.agent\\0.7.6.201602180812\\org.jacoco.agent-0.7.6.201602180812-runtime.jar=destfile=C:Users\\user\\git\\package\\target\\jacoco.exec
Run Code Online (Sandbox Code Playgroud)
我的 jacoco-sonar 配置的 pom.xml 条目如下 -
<properties>
<sonar.sources>src/main/java</sonar.sources>
<sonar.tests>src/test/java</sonar.tests>
<sonar.java.coveragePlugin>jacoco</sonar.java.coveragePlugin>
<sonar.jacoco.reportPaths>${project.basedir}/target/jacoco.exec</sonar.jacoco.reportPaths>
<sonar.language>java</sonar.language>
<sonar.binaries>${project.basedir}/target/classes</sonar.binaries>
<sonar.inclusions>
**/com/abc/service/impl/ABCServiceImpl.java,
**/com/abc/dao/impl/ABCDAOImpl.java
</sonar.inclusions>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.20</version>
<configuration>
<skipTests>false</skipTests>
<argLine>-Xmx1024m -XX:MaxPermSize=256m ${argLine}</argLine>
</configuration> …Run Code Online (Sandbox Code Playgroud) 我使用 Jacoco 作为在我的 pom.xml 中配置的代码覆盖插件。我只想测试和分析类文件中少数方法的覆盖率,并且只想相应地显示它们的覆盖率百分比。但当 jacoco 分析整个文件时,它显示的覆盖率较低,尽管相关方法已 100% 覆盖。jacoco 有什么方法可以在不更改源文件代码的情况下排除某些正在分析的方法吗?