<small id='wm74A'></small><noframes id='wm74A'>

        <bdo id='wm74A'></bdo><ul id='wm74A'></ul>
    1. <tfoot id='wm74A'></tfoot>

      <legend id='wm74A'><style id='wm74A'><dir id='wm74A'><q id='wm74A'></q></dir></style></legend>

      <i id='wm74A'><tr id='wm74A'><dt id='wm74A'><q id='wm74A'><span id='wm74A'><b id='wm74A'><form id='wm74A'><ins id='wm74A'></ins><ul id='wm74A'></ul><sub id='wm74A'></sub></form><legend id='wm74A'></legend><bdo id='wm74A'><pre id='wm74A'><center id='wm74A'></center></pre></bdo></b><th id='wm74A'></th></span></q></dt></tr></i><div id='wm74A'><tfoot id='wm74A'></tfoot><dl id='wm74A'><fieldset id='wm74A'></fieldset></dl></div>

    2. 如何使用 Junit 按顺序运行测试方法

      时间:2023-09-30
        <bdo id='GqykR'></bdo><ul id='GqykR'></ul>

      • <i id='GqykR'><tr id='GqykR'><dt id='GqykR'><q id='GqykR'><span id='GqykR'><b id='GqykR'><form id='GqykR'><ins id='GqykR'></ins><ul id='GqykR'></ul><sub id='GqykR'></sub></form><legend id='GqykR'></legend><bdo id='GqykR'><pre id='GqykR'><center id='GqykR'></center></pre></bdo></b><th id='GqykR'></th></span></q></dt></tr></i><div id='GqykR'><tfoot id='GqykR'></tfoot><dl id='GqykR'><fieldset id='GqykR'></fieldset></dl></div>

        • <small id='GqykR'></small><noframes id='GqykR'>

            <tbody id='GqykR'></tbody>
            1. <tfoot id='GqykR'></tfoot>
            2. <legend id='GqykR'><style id='GqykR'><dir id='GqykR'><q id='GqykR'></q></dir></style></legend>
              • 本文介绍了如何使用 Junit 按顺序运行测试方法的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

                问题描述

                我正在使用 JUnit 和 Selenium Webdriver.我想按照我在代码中编写它们的顺序运行我的测试方法,如下所示:

                I am using JUnit and Selenium Webdriver. I want to run my test methods in order as how I write them in my code, as below:

                @Test
                public void registerUserTest(){
                    // code
                }
                
                @Test
                public void welcomeNewUserTest(){
                    // code
                }
                
                @Test
                public void questionaireNewUserTest(){
                    // code
                }
                

                但它不起作用,它总是按这个顺序执行我的测试方法:

                But it doesn't work, it always executes my test methods in this order:

                welcomeNewUserTest()
                registerUserTest()
                questionaireNewUserTest()
                

                如果我用后缀 Test 命名我的方法,我会在某处读到答案,然后 JUnit 会按照我在代码中对它们的排序方式执行它们.显然,这行不通.

                I read an answer somewhere if I name my method with suffix Test, then JUnit would execute them in order as how I order them in code. Apparently, this doesn't work.

                有什么帮助吗?谢谢

                推荐答案

                所以对于像这样的测试——步骤相互依赖——你应该真正将它们作为一个单元来执行.你真的应该做这样的事情:

                So for tests like these - where the steps are dependent on each other - you should really execute them as one unit. You should really be doing something like:

                @Test
                public void registerWelcomeAndQuestionnaireUserTest(){
                    // code
                    // Register
                    // Welcome
                    // Questionnaire
                }
                

                正如@Jeremiah 下面提到的,有一些独特的方法可以使单独的测试无法预测地执行.

                As @Jeremiah mentions below, there are a handful of unique ways that separate tests can execute unpredictably.

                既然我已经说过了,这就是你的解决方案.

                Now that I've said that, here's your solution.

                如果你想要单独的测试,你可以使用 @FixMethodOrder 然后按 NAME_ASCENDING 执行.这是我知道的唯一方法.

                If you want separate tests, you can use @FixMethodOrder and then do it by NAME_ASCENDING. This is the only way I know.

                @FixMethodOrder(MethodSorters.NAME_ASCENDING)
                public class TestMethodOrder {
                
                    @Test
                    public void testA() {
                        System.out.println("first");
                    }
                    @Test
                    public void testC() {
                        System.out.println("third");
                    }
                    @Test
                    public void testB() {
                        System.out.println("second");
                    }
                }
                

                将执行:

                testA(), testB(), testC()

                在你的情况下:

                @FixMethodOrder(MethodSorters.NAME_ASCENDING)
                public class ThisTestsEverything{
                
                    @Test
                    public void T1_registerUser(){
                        // code
                    }
                
                    @Test
                    public void T2_welcomeNewUser(){
                        // code
                    }
                
                    @Test
                    public void T3_questionaireNewUser(){
                        // code
                    }
                
                }
                

                这篇关于如何使用 Junit 按顺序运行测试方法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持html5模板网!

                上一篇:Lucene Porter Stemmer 未公开 下一篇:如何以编程方式使用 TestNG 运行 Selenium Java 测试

                相关文章

                最新文章

                <tfoot id='tuFeV'></tfoot>

                <small id='tuFeV'></small><noframes id='tuFeV'>

                  <i id='tuFeV'><tr id='tuFeV'><dt id='tuFeV'><q id='tuFeV'><span id='tuFeV'><b id='tuFeV'><form id='tuFeV'><ins id='tuFeV'></ins><ul id='tuFeV'></ul><sub id='tuFeV'></sub></form><legend id='tuFeV'></legend><bdo id='tuFeV'><pre id='tuFeV'><center id='tuFeV'></center></pre></bdo></b><th id='tuFeV'></th></span></q></dt></tr></i><div id='tuFeV'><tfoot id='tuFeV'></tfoot><dl id='tuFeV'><fieldset id='tuFeV'></fieldset></dl></div>
                1. <legend id='tuFeV'><style id='tuFeV'><dir id='tuFeV'><q id='tuFeV'></q></dir></style></legend>

                    • <bdo id='tuFeV'></bdo><ul id='tuFeV'></ul>