Gradle测试

一 自动化测试

一些开源的测试框架比如JUnit,TestNG能够帮助你编写可复用的结构化的测试,为了运行这些测试,你要先编译它们,就像编译源码一样。测试代码的作用仅仅用于测试的情况,不应该被发布到生产环境中,需要把源代码和测试代码分开来。

二 Gradle测试项目布局

Gradle测试_第1张图片

三 测试配置

dependencies {
    testCompile group: 'junit', name: 'junit', version: '4.12'
}

四 测试任务流程

Gradle测试_第2张图片

五 测试发现

1 任何继承自junit.framework.TestCase或groovy.util.GroovyTestCase的类

2 任何被@RunWith注解的类

3 任何至少包含一个被@Test注解的类

六 成功测试实战

1 代码

public class TodoRepositoryTest {
    private TodoRepository repository = new TodoRepository();


    @Test
    public void TestSave() {
        TodoItem item = new TodoItem("luban");
        repository.save(item);
        Assert.assertNotNull(repository.query(item.getName()));
//        Assert.assertNull(repository.query(item.getName()));
    }
}

2 测试方法

Gradle测试_第3张图片

3 测试结果

:model:compileJava UP-TO-DATE
:model:processResources NO-SOURCE
:model:classes UP-TO-DATE
:model:jar UP-TO-DATE
:repository:compileJava UP-TO-DATE
:repository:processResources NO-SOURCE
:repository:classes UP-TO-DATE
:repository:jar UP-TO-DATE
:repository:assemble UP-TO-DATE
:repository:compileTestJava
:repository:processTestResources NO-SOURCE
:repository:testClasses
:repository:test
:repository:check
:repository:build


BUILD SUCCESSFUL in 2s
6 actionable tasks: 2 executed, 4 up-to-date
20:28:21: Task execution finished 'build'.

4 测试生成文件

Gradle测试_第4张图片

七 失败测试实战

1 代码

public class TodoRepositoryTest {
    private TodoRepository repository = new TodoRepository();


    @Test
    public void TestSave() {
        TodoItem item = new TodoItem("luban");
        repository.save(item);
//        Assert.assertNotNull(repository.query(item.getName()));
        Assert.assertNull(repository.query(item.getName()));
    }
}

2 测试结果

20:36:18: Executing task 'build'...


:model:compileJava UP-TO-DATE
:model:processResources NO-SOURCE
:model:classes UP-TO-DATE
:model:jar UP-TO-DATE
:repository:compileJava UP-TO-DATE
:repository:processResources NO-SOURCE
:repository:classes UP-TO-DATE
:repository:jar UP-TO-DATE
:repository:assemble UP-TO-DATE
:repository:compileTestJava
:repository:processTestResources NO-SOURCE
:repository:testClasses
:repository:test


com.imooc.gradle.todo.TodoRepositoryTest > TestSave FAILED
    java.lang.AssertionError at TodoRepositoryTest.java:19


1 test completed, 1 failed
:repository:test FAILED


FAILURE: Build failed with an exception.


* What went wrong:
Execution failed for task ':repository:test'.
> There were failing tests. See the report at: file:///F:/gradle/gradle-demo/repository/build/reports/tests/test/index.html


* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.


BUILD FAILED in 2s
6 actionable tasks: 2 executed, 4 up-to-date
There were failing tests. See the report at: file:///F:/gradle/gradle-demo/repository/build/reports/tests/test/index.html
20:36:21: Task execution finished 'build'.

八 代码位置

https://github.com/cakin24/gradle-demo

九 学习视频位置

https://www.imooc.com/video/14796

你可能感兴趣的:(Gradle)