小编Tar*_*mar的帖子

什么是Maven的目标和阶段,它们的区别是什么?

Maven目标和阶段之间有什么区别/关系?他们如何相互关联?

maven

297
推荐指数
6
解决办法
23万
查看次数

用mockito为构造函数进行单元测试

我有一节课.

Class First {

    private Second second;

    public First(int num, String str) {
        second = new Second(str);
        this.num = num;
    }

    ... // some other methods
}
Run Code Online (Sandbox Code Playgroud)

我想为First类的公共方法编写单元测试.我想避免执行类Second的构造函数.

我这样做了:

Second second = Mockito.mock(Second.class);
Mockito.when(new Second(any(String.class))).thenReturn(null);
First first = new First(null, null);
Run Code Online (Sandbox Code Playgroud)

它仍在调用类Second的构造函数.我怎么能避免呢?

java unit-testing mockito

37
推荐指数
5
解决办法
12万
查看次数

在src目录中的eclipse中添加文件夹而不使其成为包

在eclipse中的一个项目中的src目录中创建一个文件夹时,它会使该文件夹成为一个包.有没有办法避免这个文件夹自动成为一个包?例如,我在src目录中添加主文件夹.我不希望它成为一个包.我怎样才能做到这一点?

假设我以这种方式添加文件夹:src/main/org/apache.我不希望main.org.apache成为一个包,而是希望包装从org开始.(即org.apache).

java eclipse packaging

27
推荐指数
3
解决办法
6万
查看次数

为什么jetty服务器在服务器启动后挂起并且没有运行集成测试?

我正在使用maven-jetty-plugin和maven-failsafe-plugin运行集成测试.这是我的配置:

   <plugin>
            <artifactId>maven-failsafe-plugin</artifactId>
            <version>2.7.1</version>
            <executions>
              <execution>
                <id>integration-test</id>
                <goals>
                  <goal>integration-test</goal>
                </goals>
              </execution>
              <execution>
                <id>verify</id>
                <goals>
                  <goal>verify</goal>
                </goals>
              </execution>
             </executions>
        </plugin>

        <plugin>
            <groupId>org.mortbay.jetty</groupId>
            <artifactId>maven-jetty-plugin</artifactId>
            <version>6.1.26</version>
            <configuration>

                  <connectors>
                    <connector implementation="org.mortbay.jetty.nio.SelectChannelConnector">
                      <port>8080</port>
                      <maxIdleTime>3600000</maxIdleTime>
                    </connector>
                  </connectors>

                <contextPath>/</contextPath>
                <scanIntervalSeconds>3</scanIntervalSeconds>
                <scanTargetPatterns>
                    <scanTargetPattern>
                        <directory>src/main/webapp/WEB-INF</directory>
                        <excludes>
                            <exclude>**/*.jsp</exclude>
                            <exclude>**/*.html</exclude>
                        </excludes>
                        <includes>
                            <include>**/*.page</include>
                            <include>**/*.properties</include>
                            <include>**/*.xml</include>
                        </includes>
                    </scanTargetPattern>
                </scanTargetPatterns>
            </configuration>
            <executions>
                    <execution>
                        <id>start-jetty</id>
                        <phase>pre-integration-test</phase>
                        <goals>
                          <goal>run-war</goal>
                        </goals>
                        <configuration>
                          <scanIntervalSeconds>0</scanIntervalSeconds>
                          <daemon>true</daemon>
                        </configuration>
                    </execution>
                    <execution>
                        <id>stop-jetty</id>
                        <phase>post-integration-test</phase>
                        <goals>
                          <goal>stop</goal>
                        </goals>
                    </execution>
          </executions>
        </plugin>
Run Code Online (Sandbox Code Playgroud)

当我运行mvn clean install时,jetty服务器启动,之后没有任何反应(它卡住).我的日志中的最后一行是:[INFO]启动了Jetty Server.当我按下control-c时,这是它打印的内容:

2013-04-25 15:24:16.315:INFO::Shutdown hook executing
2013-04-25 …
Run Code Online (Sandbox Code Playgroud)

integration-testing jetty maven

7
推荐指数
1
解决办法
2865
查看次数

了解lsof输出

lsof似乎对我有重复的条目.

1:fs:java      19644  4961      abc  mem       REG              252,1   126331  118159613 abc.jar
1:fs:java      19644  4962      abc  mem       REG              252,1   126331  118159613 abc.jar
Run Code Online (Sandbox Code Playgroud)

lsof格式是:

COMMAND     PID   USER   FD     TYPE            DEVICE   SIZE/OFF     NODE NAME
Run Code Online (Sandbox Code Playgroud)

19644是PID.abc是USER.什么是4961和4962?为什么我们有100个这样的.所有这些之间的区别仅在于第3栏4961,4962等等?

java unix file file-descriptor

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

如果tomcat中的web.xml中没有欢迎文件列表怎么办?

通常,欢迎文件列表用于显示应用程序的第一页.如果在我的web.xml中没有欢迎文件列表,该怎么办?在这种情况下,哪个文件将显示为我的应用程序的主页?我在web.xml中只有几个过滤器?

java tomcat web.xml

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

使用Mockito模拟方法

使用mockito模拟方法可以确保永远不会调用mocked方法吗?我有Main类,其中包含一些我想编写单元测试的代码,我有一个单元测试类MainTest,它包含Main类的单元测试.

例如:

来源类:

package abc;

public class Main {

    public int check1() {
        int num = 10;
        num = modify(num);
        return num;
    }

    public int modify(int num) {
        if (num % 10 == 0) return num / 10;
        return -1;
    }
}
Run Code Online (Sandbox Code Playgroud)

Junit测试(使用mockito)

package abc;

import junit.framework.Assert;

import org.junit.BeforeClass;
import org.junit.Test;
import org.mockito.Mockito;

public class MainTest {

    private static Main main;

    @BeforeClass
    public static void setUp() {
        main = Mockito.mock(Main.class);
        Mockito.when(main.modify(10)).thenReturn(5);
    }

    @Test
    public void testCheck1() {
        Test1 main1 = …
Run Code Online (Sandbox Code Playgroud)

unit-testing mockito

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