标签: junit

如何使用JUnit测试我的servlet

我使用Java Servlets创建了一个Web系统,现在想要进行JUnit测试.我dataManager只是将它提交到数据库的基本代码.你会如何使用JUnit测试Servlet?

我的代码示例允许用户注册/注册,这是通过AJAX从我的主页面提交的:

public void doPost(HttpServletRequest request, HttpServletResponse response) 
         throws ServletException, IOException{

    // Get parameters
    String userName = request.getParameter("username");
    String password = request.getParameter("password");
    String name = request.getParameter("name");

    try {

        // Load the database driver
        Class.forName("com.mysql.jdbc.Driver");

        //pass reg details to datamanager       
        dataManager = new DataManager();
        //store result as string
        String result = dataManager.register(userName, password, name);

        //set response to html + no cache
        response.setContentType("text/html");
        response.setHeader("Cache-Control", "no-cache");
        //send response with register result
        response.getWriter().write(result);

    } catch(Exception e){
        System.out.println("Exception is :" + e); …
Run Code Online (Sandbox Code Playgroud)

testing junit unit-testing servlets

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

初始化模拟对象 - MockIto

有许多方法可以使用MockIto初始化模拟对象.这些中最好的方法是什么?

1.

 public class SampleBaseTestCase {

   @Before public void initMocks() {
       MockitoAnnotations.initMocks(this);
   }
Run Code Online (Sandbox Code Playgroud)

2.

@RunWith(MockitoJUnitRunner.class)
Run Code Online (Sandbox Code Playgroud)

[编辑] 3.

mock(XXX.class);
Run Code Online (Sandbox Code Playgroud)

建议我,如果有任何其他方法比这些更好......

java junit mockito

107
推荐指数
7
解决办法
17万
查看次数

如何断言大于使用JUnit Assert?

我有这些价值来自测试

previousTokenValues[1] = "1378994409108"
currentTokenValues[1] = "1378994416509"
Run Code Online (Sandbox Code Playgroud)

我试试

    // current timestamp is greater
    assertTrue(Long.parseLong(previousTokenValues[1]) > Long.parseLong(currentTokenValues[1]));
Run Code Online (Sandbox Code Playgroud)

我得到了调试java.lang.AssertionError和.detailMessagenull

如何断言使用中的条件大于 JUnit

java junit

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

src/androidtest和src/test文件夹之间有什么区别?

在项目中,在Android Studio中,默认情况下,有两个测试文件夹.

首先是src/androidTest.此文件夹已存在于以前版本的Android Studio中.不过,现在有一个新的测试文件夹,默认情况下src/test,新的依赖,testCompile 'junit: junit: 4.12'build.gradle.

我用哪个文件夹进行测试?两者有什么不同?

testing junit android android-testing android-studio

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

@ Mock,@ MovieBean和Mockito.mock()之间的区别

在创建测试和模拟依赖项时,这三种方法之间有什么区别?

  1. @MockBean:

    @MockBean
    MyService myservice;
    
    Run Code Online (Sandbox Code Playgroud)
  2. @嘲笑:

    @Mock
    MyService myservice;
    
    Run Code Online (Sandbox Code Playgroud)
  3. Mockito.mock()

    MyService myservice = Mockito.mock(MyService.class);
    
    Run Code Online (Sandbox Code Playgroud)

java junit spring mockito spring-boot

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

为什么jUnit的fixtureSetup必须是静态的?

我用jUnit的@BeforeClass注释标记了一个方法,得到了这个例外,说它必须是静态的.理由是什么?这迫使我所有的init都在静态字段上,据我所知,这是没有充分理由的.

在.Net(NUnit)中,情况并非如此.

编辑 - 使用@BeforeClass注释的方法只运行一次与静态方法无关 - 可以使非静态方法只运行一次(如在NUnit中).

java junit

105
推荐指数
3
解决办法
4万
查看次数

java.lang.NoClassDefFoundError:org/hamcrest/SelfDescribing

在运行junit测试时,eclipse我得到了这个Exception:

java.lang.NoClassDefFoundError: org/hamcrest/SelfDescribing
Run Code Online (Sandbox Code Playgroud)

我添加了junit.jar库文件.

我试过不同版本的junit.jar的:4.4,4.8等等.

如何修复此异常?

java eclipse junit noclassdeffounderror hamcrest

105
推荐指数
6
解决办法
13万
查看次数

jUnit中的多个RunWith语句

我编写单元测试并希望使用JUnitParamsRunnerMockitoJUnitRunner一个测试类.

不幸的是,以下不起作用:

@RunWith(MockitoJUnitRunner.class)
@RunWith(JUnitParamsRunner.class)
public class DatabaseModelTest {
  // some tests
}
Run Code Online (Sandbox Code Playgroud)

有没有办法在一个测试类中同时使用Mockito和JUnitParams?

java junit unit-testing

104
推荐指数
4
解决办法
6万
查看次数

Surefire没有接受Junit 5测试

我用JUnit 5编写了一个简单的测试方法:

public class SimlpeTest {
    @Test
    @DisplayName("Some description")
    void methodName() {
        // Testing logic for subject under test
    }
}
Run Code Online (Sandbox Code Playgroud)

但是当我跑步时mvn test,我得到了:

-------------------------------------------------------
 T E S T S
-------------------------------------------------------
Running SimlpeTest
Tests run: 0, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.001 sec

Results :

Tests run: 0, Failures: 0, Errors: 0, Skipped: 0
Run Code Online (Sandbox Code Playgroud)

不知何故,surefire没有认出那个测试类.我pom.xml看起来像:

<properties>
    <java.version>1.8</java.version>
    <junit.version>5.0.0-SNAPSHOT</junit.version>
</properties>

<dependencies>
    <dependency>
        <groupId>org.junit</groupId>
        <artifactId>junit5-api</artifactId>
        <version>${junit.version}</version>
        <scope>test</scope>
    </dependency>
</dependencies>

<repositories>
    <repository>
        <id>snapshots-repo</id>
        <url>https://oss.sonatype.org/content/repositories/snapshots</url>
        <releases>
            <enabled>false</enabled>
        </releases> …
Run Code Online (Sandbox Code Playgroud)

java junit maven maven-surefire-plugin junit5

104
推荐指数
7
解决办法
3万
查看次数

运行JUnit测试时找不到类异常

我在Eclipse中运行JUnit测试时遇到此错误:

Class not found com.myproject.server.MyTest
java.lang.ClassNotFoundException: com.myproject.server.MyTest
    at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.loadClass(RemoteTestRunner.java:693)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.loadClasses(RemoteTestRunner.java:429)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:452)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
Run Code Online (Sandbox Code Playgroud)

我尝试JUnit在类路径中添加库,虽然我正在使用maven,而JUnit库是POM依赖项.

我已经尝试清理项目并使用Eclipse的JUnit插件创建了一个新的JUnit测试用例,但仍然遇到同样的错误.

java eclipse junit

103
推荐指数
7
解决办法
21万
查看次数