美文网首页
编程语言与测试框架

编程语言与测试框架

作者: DuffyMagic | 来源:发表于2020-05-18 23:03 被阅读0次

testng

流程控制注解:
@BeforeSuite
@BeforeTest
@BeforeClass
@BeforeMethod
@Test
@AfterMethod
@AfterClass
@AfterTest
@AfterSuite
忽略测试:
@Test(enabled=false)
分组测试:
@Test(groups = {"group01"})
依赖方法:
@Test(dependsOnMethods = {"planA"})
多线程测试:
@Test(threadPoolSize = 5,invocationCount = 5,timeOut = 60000)

@Test(threadPoolSize = 5,invocationCount = 5,timeOut = 60000)
    public void plan(){
        System.out.println("testng");
    }

传参:

@DataProvider
    public Object[] [] input(){
        Object[][] objects;
        return objects = new Object[][]{
                {1,2},
                {3,4}
        };
    }

    @Test(dataProvider = "input")
    public void plan(int a, int b){
        System.out.println(a + b);
    }

junit4

流程控制注解:
@BeforeClass (需要静态修饰符)
@Before
@Test
@After
@Before
@Test
@After
@AfterClass (需要静态修饰符)
忽略测试:
@Ignore
套件测试事例:

import org.junit.runner.RunWith;
import org.junit.runners.Suite;

@RunWith(Suite.class)
@Suite.SuiteClasses({
        LoginTest.class,
        BuyTest.class
})
public class SuiteTest {
}

junit5

流程控制注解:
@BeforeAll (需要静态修饰符)
@BeforeEach
@Test
@AfterEach
@BeforeEach
@Test
@AfterEach
@AfterAll (需要静态修饰符)
忽略测试:
@Disabled
展示名称:
@DisplayName("fun 测试方法")
重复测试:
@RepeatedTest(5)
测试流程规定:
@Nested倒序执行

import org.junit.jupiter.api.*;

import java.util.HashMap;

public class Junit5Test {
    private static HashMap<String,Object> data = new HashMap<String, Object>();
    @Test
    void loginTest(){
        data.put("login","登录成功");
    }
    @Nested
    class BuyTest{
        @Test
        void buyTest(){
            if (data.get("login").equals("登录成功")){
                System.out.println("可以购买东西了");
            }
        }

    }

}

参数化:

public class Junit5Test {
    @ParameterizedTest
    @ValueSource(ints = {1, 2, 3})
    void loginTest(int param){
        assertTrue(param>0&&param<4);
    }

    @ParameterizedTest
    @MethodSource("stringProvider")
    void testWithExplicitLocalMethodSource(String argument) {
        assertNotNull(argument);
    }

    static Stream<String> stringProvider() {
        return Stream.of("apple", "banana");
    }
}

动态参数:

@TestFactory
    DynamicTest[] dynamicTestsFromArray() {
        return new DynamicTest[] {
                dynamicTest("7th dynamic test", () -> assertTrue(isPalindrome("madam"))),
                dynamicTest("8th dynamic test", () -> assertEquals(4, 4))
        };
    }

数据驱动:依赖于@MethodSource

    @ParameterizedTest()
    @MethodSource
    public void testDDTFromYaml(User user) {
        assertTrue(user.name.length() > 3);

    }

    static List<User> testDDTFromYaml() throws IOException {
        ObjectMapper mapper = new ObjectMapper(new YAMLFactory());
        TypeReference typeReference = new TypeReference<List<User>>() {
        };
        List<User> users = mapper.readValue(
                TestYaml.class.getResourceAsStream("/user.yaml"),
                typeReference
        );
        return users;
    }

相关文章

  • 编程语言与测试框架

    testng 流程控制注解:@BeforeSuite@BeforeTest@BeforeClass@BeforeM...

  • 编程语言与测试框架(二)

    Junit5 分组:@Tag套件:@Suite 并行执行 Jenkinsmaven 测试用例调度——maven 单...

  • 安装Appium

    一、web自动化与移动自动化比较 web自动化测试的路线是这样的:编程语言基础--->测试框架--->webdri...

  • JUnit学习小结

    JUnit 是一个 Java 编程语言的单元测试框架。 xUnit是一套基于测试驱动开发的测试框架,包括Pytho...

  • 2021 年 8 大 Python 测试框架

    2021 年 8 大 Python 测试框架 我应该用哪种编程语言开始我的测试之旅?” – Python 就是你的...

  • 5.自动化测试工程目录的建立&&基类接口封装

    接口自动化测试架构规划 1、编程语言的选型2、编程工具的选型3、自动化测试框架的选型概念:一个架子 (数据驱动)...

  • IDEA下的JUnit4单元测试

    什么是 JUnit? JUnit 是一个 Java 编程语言的单元测试框架。JUnit 促进了“先测试后编码”的理...

  • C 语言测试 - gtest

    C语言的单元测试框架 C语言单元测试框架unitC语言单元测试框架unit的使用_Vincent的专栏-CSDN博...

  • 测试人员应该具备哪些能力

    1、测试理论知识 2、至少了解一枚编程语言,如Java,Python 等 3、了解测试框架,如robot 4、了解...

  • 编程语言入门(以python为例)

    1 前言 该文章以Python语言为例,讲解编程语言的框架。偏重于编程语言的框架,因此主要讲编程语言必须的通用的内...

网友评论

      本文标题:编程语言与测试框架

      本文链接:https://www.haomeiwen.com/subject/aismohtx.html