• TestNg它@Factory详细解释------如何更改参数值测试


    原创文章,版权所有所有。转载,归因:http://blog.csdn.net/wanghantong

    TestNg@Factory注解从字面意思上来讲就是採用工厂的方法来创建測试数据并配合完毕測试

    其主要应对的场景是:对于某一个測试用例或方法,我们须要输入多个測试数据进行測试,而且这些測试数据能够是有一定关系(能够通过代码控制)

    此时。我们就能够把自己主动化或者手动測试时遇到的仅仅因測试数据不同的多个測试用例合并成一个測试用例。来进行更方便和快捷的測试,

    对编写自己主动化測试代码人员节省了非常多时间

    策略:一般我们会在标有@Factory注解的方法中对測试类进行调用。这时TestNg会自己主动调用測试类中带有@Test注解的方法

    java code:

    /**
     * 
     * <p>
     * Title: TestngFactory
     * </p>
     * 
     * <p>
     * Description: 配置文件:testng-factory.xml
     * 
     * TestngFactory工厂类,在带有@Factory注解的方法中调用被运行的測试类,TestNg会自己主动调用被运行类中带有@Test注解的方法,
     * 被运行的測试类为:TestngFactoryTest,
     * </p>
     * 
     * <p>
     * Company:
     * </p>
     * 
     * @author : Dragon
     * 
     * @date : 2014年10月22日
     */
    public class TestngFactory {
    	@Factory
    	public Object[] createInstances() {
    		Object[] result = new Object[10];
    		for (int i = 0; i < 10; i++) {
    			result[i] = new TestngFactoryTest(i * 10);
    		}
    		return result;
    	}
    }

    public class TestngFactoryTest {
    	private int m_numberOfTimes;
    
    	public TestngFactoryTest(int numberOfTimes) {
    		this.m_numberOfTimes = numberOfTimes;
    	}
    
    	private static int num;
    
    	@Test
    	public void testServer() {
    		num++;
    		System.out.println("num    " + num + "  m_numberOfTimes :"
    				+ m_numberOfTimes);
    	}
    }



    配置文件:仅仅须要配置带有@Factory注解的类就可以

    <?xml version="1.0" encoding="UTF-8"?

    > <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd"> <!-- allow-return-values 默认值为FALSE,表示返回值将被忽略 --> <suite name="framework_testng" allow-return-values="true"> <test verbose="2" name="TestMethods"> <classes> <class name="com.dragon.testng.annotation.TestngFactory"> </class> </classes> </test> </suite>


    測试结果:

    num    1  m_numberOfTimes :30
    num    2  m_numberOfTimes :20
    num    3  m_numberOfTimes :70
    num    4  m_numberOfTimes :60
    num    5  m_numberOfTimes :90
    num    6  m_numberOfTimes :50
    num    7  m_numberOfTimes :10
    num    8  m_numberOfTimes :0
    num    9  m_numberOfTimes :40
    num    10  m_numberOfTimes :80
    PASSED: testServer
    PASSED: testServer
    PASSED: testServer
    PASSED: testServer
    PASSED: testServer
    PASSED: testServer
    PASSED: testServer
    PASSED: testServer
    PASSED: testServer
    PASSED: testServer
    
    ===============================================
        TestMethods
        Tests run: 10, Failures: 0, Skips: 0
    ===============================================


    原创文章。版权全部,同意转载,标明出处:http://blog.csdn.net/wanghantong

    TestNg的工厂測试引用@DataProvider数据源----灵活使用工厂測试


    ——要知道别人光鲜的背后有着太多不为人知的痛苦。自己不喜欢的人,报之以微笑。默默为他祝福;对喜欢的人。真情流露、真诚相待就好。人在做天在看,冥冥中自有因果在安排,永远怀着一颗善良的心,持续做对的事。时刻提醒自己。改变自己,低调做人,高调做事。

    版权声明:本文博客原创文章,博客,未经同意,不得转载。

  • 相关阅读:
    《英文论文写作再也不难了(工具篇),不收藏就找不到了》
    teachable-machine:探索机器学习如何工作,浏览器中实时浏览
    rasa_core:基于机器学习的对话引擎
    DeepMoji:机器学习模型分析情绪, 情感
    TensorFlow LSTM 注意力机制图解
    Fabrik – 在浏览器中协作构建,可视化,设计神经网络
    移动深度学习 Mobile-deep-learning(MDL)
    Serpent.AI
    face-alignment:用 pytorch 实现的 2D 和 3D 人脸对齐库
    ZhuSuan 是建立在Tensorflow上的贝叶斯深层学习的 python 库
  • 原文地址:https://www.cnblogs.com/mfrbuaa/p/4680755.html
Copyright © 2020-2023  润新知