最近看了下testng,的确发觉testng是强大的工具,其中留意到testng中有一个
不错的功能,是在运行时期动态添加注解,先来看下面的例子:
public class Mytest {
@Test(invocationCount = 10)
public void verify() {
// ...
}}
这个是固定了10次的重复测试,但如果要在程序中动态去判断呢,可以实现
IAnnotationTransformer接口
public interface IAnnotationTransformer {
public void transform(ITest annotation, Class testClass,
Constructor testConstructor, Method testMethod);
}
编写自定义类去实现它:
public class MyTransformer implements IAnnotationTransformer {
public void transform(ITest annotation, Class testClass,
Constructor testConstructor, Method testMethod)
{
if ("verify".equals(testMethod.getName())) {
annotation.setInvocationCount(15);
}
}
}
很明显,IAnnotationTransformer接口中,给出了注解,类,构造函数,测试方法四个参数,因此已经足够可以判断进行动态了。再看一个例子:
public class MyTransferTest {
@Test
public void test1() {
System.out.println("=================test1=============");
}
@Test
public void test2() {
System.out.println("=================test2=============");
}
}
public class MyTransformer implements IAnnotationTransformer {
@SuppressWarnings("rawtypes")
@Override
public void transform(ITestAnnotation annotation, Class testClass,
Constructor testConstructor, Method testMethod) {
System.out.println(" MyTransformer "+testMethod);
if ("test1".equals(testMethod.getName())) {
annotation.setInvocationCount(5);
}
}
}
分享到:
相关推荐
可以通过添加以下配置到`maven-surefire-plugin`或`maven-failsafe-plugin`(如果你的测试在`@IntegrationTest`注解下)来实现: ```xml ... <groupId>org.apache.maven.plugins <artifactId>maven-...
在TestNG中,测试是通过注解(Annotations)来实现的,注解是Java 5.0中引入的一个新特性,它能够帮助开发人员在代码中添加元数据。TestNG支持的注解非常多,例如用于标记测试方法的@Test、用于分组测试的@Groups...
2. 使用Maven或Gradle等构建工具,在其依赖管理中添加TestNG的依赖。例如,在Maven的pom.xml文件中添加以下代码: ```xml <groupId>org.testng <artifactId>testng <version>6.8</version> <!-- 这里的版本号...
在Java项目中,我们通常将这个jar添加到项目的类路径(classpath)中,以便运行TestNG测试用例。 关于源码,`src`目录可能包含TestNG 6.8.8的完整源代码,这对于开发者来说是一份宝贵的资源。通过阅读源码,可以...
在Eclipse中,右键点击项目,选择"Build Path" -> "Configure Build Path",在"Libraries"选项卡中添加TestNG库。如果你已经安装了插件,TestNG应该会出现在可用库的列表中。 接下来,我们创建一个TestNG测试类。在...
11. **Maven集成**:对于使用Maven构建的项目,可以在pom.xml中添加TestNG的依赖,并通过maven-surefire-plugin插件配置执行TestNG测试。 12. **持续集成**:TestNG与Jenkins、Travis CI等持续集成工具配合良好,可...
2. **创建测试类**:在Eclipse中新建一个Java类,并添加@Test注解的方法,Eclipse会自动识别其为TestNG测试方法。 3. **运行配置**:右键点击测试类,选择Run As > TestNG Test运行测试。也可以通过TestNG菜单或...
TestNG是一款功能强大的Java测试框架,它扩展了JUnit的功能,为开发者提供了更多高级特性,如支持并发测试、灵活的测试配置、丰富的注解、详细的测试报告等。在没有网络连接或者网络环境不稳定的情况下,离线安装...
另外,testng-6.14.0.zip文件是TestNG库的jar包,如果你需要在不使用Eclipse插件的情况下在项目中使用TestNG,你可以将这个jar添加到项目的类路径中。通过编写XML配置文件或直接在Java代码中使用注解,可以定义和...
总的来说,TestNG是一个功能强大且灵活的测试框架,它的注解系统、并发执行能力以及丰富的报告选项使其在自动化测试领域中具有很高的价值。通过学习和熟练使用TestNG,你可以有效地提高测试效率,保证软件质量。
- **创建测试类和方法**:在Java类中定义测试方法,使用@Test注解,并在必要时添加其他配置方法。 - **编写测试用例**:根据需求编写测试逻辑,可以使用assert系列方法来验证预期结果。 - **定义数据提供者**:...
TestNG是Java编程语言中的一款高级测试框架,与JUnit相比,它提供了更多元化和强大的功能,尤其在并发测试和测试套件的组织方面。标题中的"testng-6.1.jar"指的是TestNG库的特定版本,即6.1版本的JAR文件。这个文件...
TestNG是一款功能强大的自动化测试框架,它在Java领域被广泛应用,尤其在软件测试过程中,提供了丰富的功能,如并行测试、测试套件、依赖性管理、报告生成等。本篇文章将详细讲解TestNG插件的离线安装过程,以及如何...
在集成开发环境(IDE)如MyEclipse中安装TestNG插件,可以方便地编写和运行TestNG测试用例,提高测试效率。 MyEclipse 10是一款全面支持Java、Web、J2EE、Spring、Hibernate等技术的集成开发工具。它不仅包含传统的...
7. **使用TestNG**: 安装完成后,你可以在Eclipse中创建新的TestNG测试类,使用@Test注解编写测试方法,利用@BeforeTest, @AfterTest, @BeforeClass, @AfterClass, @BeforeMethod, 和 @AfterMethod等注解来定义测试...
这可以通过在`@ContextConfiguration`注解的`classes`参数中添加`TestNGSpringContextConfigurer`类来完成。这样,Spring会自动初始化并管理测试所需的bean。 2. **配置Spring测试上下文**:创建一个Spring配置文件...
总结来说,离线安装TestNg-Eclipse插件6.10主要步骤包括下载插件包、解压、在Eclipse中添加本地更新站点、选择并安装组件,最后验证安装成功。这样,即使在没有网络连接的环境中,你也能方便地在Eclipse中使用TestNg...
在实际应用中,我们可以通过创建 TestNG 类并添加注解来编写测试代码。例如,创建一个名为 `Sum` 的类,然后创建一个 TestNG 类 `NewTest`,包含三个测试方法 `f()`, `f2()`, `f3()`,分别属于不同的组。 ```java ...
1. **JDK 5 Annotations**:TestNG 支持 JDK 5 中引入的注解功能,这对于简化测试代码非常有用。对于 JDK 1.4 版本,TestNG 也提供了对 JavaDoc 注解的支持。 2. **灵活的测试配置**:通过 `testng.xml` 文件,可以...