小编zor*_*ran的帖子

maven:将多模块项目组装成单个jar

我有一个多模块项目,想要创建一个包含所有模块类的jar.在我的父POM中,我声明了以下插件:

<plugin>
 <groupId>org.apache.maven.plugins</groupId>
 <artifactId>maven-assembly-plugin</artifactId>
 <configuration>
  <descriptorRefs>
   <descriptorRef>bin</descriptorRef>
  </descriptorRefs>
 </configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)

但是,在运行mvn assembly:assembly时,只包含父文件夹中的源(空).如何将模块中的源包含到存档中?

maven-2 archive maven maven-assembly-plugin multi-module

11
推荐指数
3
解决办法
1万
查看次数

模拟getClass()

在Java中我想编写方法测试(简化代码段):

public class MyClass {
    private static final Set<Class> SOME_SET = new HashSet<Class>(Arrays.asList(Foo.class, Bar.class));

    public boolean isValid(Class clazz){
        return SOME_SET.contains(clazz);
    }
}
Run Code Online (Sandbox Code Playgroud)

以下测试的问题

import static org.mockito.Mockito.when;
import org.mockito.Mockito;

public class MyClassTest {
    @Test
    public void isValid_Foo_returnsTrue(){
        Foo foo = Mockito.mock(Foo.class);
        MyClass target = new MyClass();
        assertTrue(target.isValid(foo));
   }
}
Run Code Online (Sandbox Code Playgroud)

就是在模拟类Foo上,foo.getClass()返回带有附加后缀的类名.像这样的东西:

Foo$$EnhancerByMockitoWithCGLIB$$45508b12
Run Code Online (Sandbox Code Playgroud)

由于这个原因,测试失败,因为SOME_SET.contains(clazz)返回false.

我无法在Foo上模拟getClass()方法:

Mockito.when(foo.getClass()).thenReturn(Foo.class);
Run Code Online (Sandbox Code Playgroud)

因为编译器抱怨: 方法thenReturn(Class <capture#1-of?extends Foo>)在类型OngoingStubbing <Class <capture#1-of?extends Foo >>不适用于参数(Class <Foo>)

问题是,如何实现模拟对象的getClass()方法在真实(非模拟)对象上返回与getClass()方法相同的值

java junit unit-testing mocking mockito

6
推荐指数
1
解决办法
3023
查看次数

在 SonarQube 中,为什么“Sonar way”质量配置文件不包含 SonarJava 存储库中的所有规则

我的公司使用 SonarQube 已经有一段时间了,现在我们安装了最新的 SonarQube 版本 6.4,我们想升级我们正在使用的质量配置文件。

据我所知,不再需要使用 FindBugs、PMD 和 Checkstyle 插件,因为 SonarJava 插件中的规则包含其他插件中的所有规则。

我想使用“Sonar way”内置配置文件,但我注意到它只包含 SonarJava 存储库中所有规则的子集。Sonar 方式有 292 条规则,SonarJava 规则库中有 427 条规则。我注意到“声纳方式”中缺少一些重要规则。

问题是:

  1. 为什么“Sonar way”不包含所有 SonarJava 规则。
  2. 创建包含 SonarJava 存储库中所有规则的配置文件并使用此配置文件是否有一些缺点?

java static-code-analysis sonarqube

2
推荐指数
1
解决办法
5404
查看次数