标签:sage har 对象 测试的 操作 编程 mod for 程序员
TDD是测试编程驱动,编程方法学,
也是一种编程思想,是先写测试用例再编码。
特点是:保证了代码的质量,测试的覆盖率高,
但是开发效率低。
领域驱动设计
并发数的问题,能承载多少并发
系统长期稳定运行,如果72小时能稳定运行,
说明该系统度过了疲劳强度初步测试,
正常是7天
对一个功能点疯狂的测试,主要是对流程测试,如支付环节
完成功能的测试,最重要的是测试整体业务流程
当其他测试都完成后,当增加一个功能或者修改时,
有可能影响整个系统,这时候就需要回归测试
需要编码、模拟场景设计
JUnit 是用于编写和运行可重复的自动化测试的开源测试框架,这样可以保证我们的代码按预期工作。JUnit 可广泛用于工业和作为支架(从命令行)或IDE(如 IDEA)内单独的 Java 程序。 JUnit 提供:
@Test public void method() //测试注释指示该公共无效方法它所附着可以作为一个测试用例。 @Before public void method() //Before 注释表示,该方法必须在类中的每个测试之前执行,以便执行测试某些必要的先决条件。 @BeforeClass public static void method() //BeforeClass 注释指出这是附着在静态方法必须执行一次并在类的所有测试之前。发生这种情况时一般是测试计算共享配置方法(如连接到数据库)。 @After public void method() //After 注释指示,该方法在执行每项测试后执行(如执行每一个测试后重置某些变量,删除临时变量等) @AfterClass public static void method() //当需要执行所有的测试在 JUnit 测试用例类后执行,AfterClass 注解可以使用以清理建立方法,(从数据库如断开连接)。注意:附有此批注(类似于 BeforeClass)的方法必须定义为静态。 @Ignore public static void method() //当想暂时禁用特定的测试执行可以使用忽略注释。每个被注解为 @Ignore 的方法将不被执行。
pom.xml 文件如下:
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.xue</groupId> <artifactId>hello-spring</artifactId> <version>1.0.0-SNAPSHOT</version> <packaging>jar</packaging> <dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>4.3.17.RELEASE</version> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> <scope>test</scope> </dependency> </dependencies> </project>
主要增加了 junit:junit 依赖
在测试包下 src/main/test 创建一个名为 MyTest 的测试类,代码如下:
package com.xue.hello.spring.test; import org.junit.After; import org.junit.Before; import org.junit.Test; public class MyTest { /** * 执行测试方法前执行 */ @Before public void before() { System.out.println("执行 before() 方法"); } /** * 执行测试方法后执行 */ @After public void after() { System.out.println("执行 after() 方法"); } @Test public void testSayHi() { System.out.println("Hi Log4j"); } @Test public void testSayHello() { System.out.println("Hello Log4j"); } }
断言是编程术语,表示为一些布尔表达式,程序员相信在程序中的某个特定点该表达式值为真,可以在任何时候启用和禁用断言验证,因此可以在测试时启用断言而在部署时禁用断言。同样,程序投入运行后,最终用户在遇到问题时可以重新启用断言。
使用断言可以创建更稳定、品质更好且 不易于出错的代码。当需要在一个值为 false 时中断当前操作的话,可以使用断言。单元测试必须使用断言(Junit/JunitX)。
断言 | 描述 |
---|---|
void assertEquals([String message], expected value, actual value) | 断言两个值相等。值可能是类型有 int, short, long, byte, char or java.lang.Object. 第一个参数是一个可选的字符串消息 |
void assertTrue([String message], boolean condition) | 断言一个条件为真 |
void assertFalse([String message],boolean condition) | 断言一个条件为假 |
void assertNotNull([String message], java.lang.Object object) | 断言一个对象不为空(null) |
void assertNull([String message], java.lang.Object object) | 断言一个对象为空(null) |
void assertSame([String message], java.lang.Object expected, java.lang.Object actual) | 断言,两个对象引用相同的对象 |
void assertNotSame([String message], java.lang.Object unexpected, java.lang.Object actual) | 断言,两个对象不是引用同一个对象 |
void assertArrayEquals([String message], expectedArray, resultArray) | 断言预期数组和结果数组相等。数组的类型可能是 int, long, short, char, byte or java.lang.Object. |
注意:==比较的是地址, equals比较的是值
在之前的单元测试类中创建一个名为 testAssert 方法来查看断言效果
/** * 测试断言 */ @Test public void testAssert() { String obj1 = "junit"; String obj2 = "junit"; String obj3 = "test"; String obj4 = "test"; String obj5 = null; int var1 = 1; int var2 = 2; int[] arithmetic1 = {1, 2, 3}; int[] arithmetic2 = {1, 2, 3}; //如果为真往下执行 assertEquals(obj1, obj2); assertSame(obj3, obj4); assertNotSame(obj2, obj4); assertNotNull(obj1); assertNull(obj5); assertTrue("为真", var1 == var2); assertArrayEquals(arithmetic1, arithmetic2); }
标签:sage har 对象 测试的 操作 编程 mod for 程序员
原文地址:https://www.cnblogs.com/yaoyaoling/p/9770961.html