2

これは私のtestNGテストがどのように見えるかです:-

public class orderTest{
    @Test
    public void meth1() throws InterruptedException{
        System.out.println("1");
        Reporter.log("1");
    }
    @Test
    public void meth2() throws InterruptedException{
        System.out.println("2");
        Reporter.log("2");
    }
    @Test
    public void meth3() throws InterruptedException{
        System.out.println("3");
        Reporter.log("3");
    }
    @Test
    public void meth4() throws InterruptedException{
        System.out.println("4");
        Reporter.log("4");
    }
}

Eclipseで実行すると、コンソールに次のように表示されます:- 1 2 3 4 PASSED: meth1 PASSED: meth2 PASSED: meth3 PASSED: meth4

しかし、testNG レポートを開くと、レポーター出力リンクをクリックすると、次のように表示されます:- レポーター出力 - meth1 1 meth4 4 meth3 3 meth2 2

testng レポートで順序が正しくないのはなぜですか? 実行の順序は 1,2,3,4 ですが、報告の順序は 1,4,3,2 です。

4

2 に答える 2

0

If you want the classes and methods listed in this file to be run in an unpredictible order, set the preserve-order attribute to false.

それがTestNGのドキュメントに書かれていることなので、スペルが間違っていない限り(私のが完璧だと言っているわけではありません:)、それは機能です。

しかし、私には、レポートの順序だけが予測不可能であり、実行はかなり予測可能であるように思えます。

dtd は次のように述べています。

@attr preserve-order If true, the classes in this tag will be run in the same order as found in the XML file.

それが実際に行うことと一致します。

間違いではありませんが、逆に予想されることもあります。

レポートをより魅力的にするための機能のようです:)

于 2013-02-19T14:36:31.347 に答える