第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

跳過(guò) @beforeMethod 中 testMethod 的執(zhí)行,而不是全部跳過(guò)剩余的

跳過(guò) @beforeMethod 中 testMethod 的執(zhí)行,而不是全部跳過(guò)剩余的

胡說(shuō)叔叔 2023-09-27 16:36:13
我有一個(gè)項(xiàng)目,在每個(gè) @Test 方法之前,我都會(huì)檢查該方法的注釋數(shù)據(jù)是否有效。如果數(shù)據(jù)無(wú)效,我想跳過(guò)測(cè)試方法并繼續(xù)測(cè)試套件的其余部分。所有數(shù)據(jù)解析和邏輯都工作正常,但據(jù)我所知,我使用了錯(cuò)誤的工具來(lái)完成這項(xiàng)工作。我的代碼有...private SoftAssert s_assert = new SoftAssert();@BeforeMethodpublic void beforeMethod(Method m){     //reads code     if (dataNotCorrect)          s_assert.fail();}@Test @MyCustomAnnotation(data = incorrect)public void Test1(){     //Do stuff}@Test @MyCustomAnnotation(data = correct)public void Test2(){     //Do stuff}在這種情況下,我想開(kāi)始嘗試同時(shí)執(zhí)行這兩個(gè)操作,但是當(dāng)測(cè)試運(yùn)行時(shí) Test1() 應(yīng)該被跳過(guò),而 testng 應(yīng)該繼續(xù)運(yùn)行 Test2()。然而,一旦我在 Test1() 處發(fā)現(xiàn)失敗,它就會(huì)在 Test1() 處結(jié)束整個(gè)套件。不僅跳過(guò) Test1(),還跳過(guò) Test2()。我已經(jīng)嘗試過(guò)軟斷言和普通斷言,但似乎都不起作用。
查看完整描述

3 回答

?
郎朗坤

TA貢獻(xiàn)1921條經(jīng)驗(yàn) 獲得超9個(gè)贊

我希望跳過(guò)當(dāng)前測(cè)試而不是所有剩余測(cè)試的問(wèn)題仍然存在。


結(jié)果發(fā)現(xiàn)問(wèn)題出在 Testng 中的 configfailurepolicy 上。當(dāng)我希望將其設(shè)置為繼續(xù)(繼續(xù)套件的其余部分)時(shí),它默認(rèn)為跳過(guò)(跳過(guò)所有剩余的測(cè)試)。


這是我在其他地方找到的答案,我設(shè)法以兩種不同的方式應(yīng)用它。鏈接在這里


1. 首先,創(chuàng)建一個(gè) testng.xml 并從那里運(yùn)行測(cè)試。在套件名稱旁邊,添加標(biāo)簽 configfailurepolicy="continue" 這是我的 testng.xml 下面


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

<suite name="Suite" configfailurepolicy="continue">

    <test name="MyTests" preserve-order="true">

        <classes>

            <class name="testclassLocation..." />

        </classes>

    </test>

</suite>

如果您這樣做,請(qǐng)確保從 testng.xml 運(yùn)行測(cè)試。


2. 找到 testng 的 .jar 所在位置。我使用的是maven,所以它是“${user.dir}.m2\repository\org\testng\testng\6.14.3”。


然后打開(kāi) .jar 存檔,查看文件“testng-1.0.dtd”,找到該行


configfailurepolicy (skip | continue) "skip"

并將其更改為


configfailurepolicy (skip | continue) "continue"

之后應(yīng)該可以正常工作。


編輯:正如評(píng)論中提到的,建議使用第一個(gè)解決方案,因?yàn)樗试S這些更改/修復(fù)可以跨多個(gè)項(xiàng)目/設(shè)備移植。第二種解決方案只會(huì)將修復(fù)應(yīng)用于您的計(jì)算機(jī)。


查看完整回答
反對(duì) 回復(fù) 2023-09-27
?
拉莫斯之舞

TA貢獻(xiàn)1820條經(jīng)驗(yàn) 獲得超10個(gè)贊

SkipException就是您正在尋找的。

在 中beforeMethod,檢查您的數(shù)據(jù),SkipException如果不正確則拋出。這將跳過(guò)測(cè)試。在這個(gè)完整而簡(jiǎn)單的示例中,test2跳過(guò):

import org.testng.SkipException;

import org.testng.annotations.BeforeMethod;

import org.testng.annotations.Test;


import java.lang.annotation.Retention;

import java.lang.annotation.RetentionPolicy;

import java.lang.reflect.Method;


public class TestA {


? ? @Retention(RetentionPolicy.RUNTIME)

? ? public @interface MyCustomAnnotation {

? ? ? ? boolean dataCorrect();

? ? }


? ? @BeforeMethod

? ? public void beforeMethod(Method m) {

? ? ? ? if (!m.getAnnotation(MyCustomAnnotation.class).dataCorrect()) {

? ? ? ? ? ? throw new SkipException("Invalid data");

? ? ? ? }

? ? }


? ? @Test

? ? @MyCustomAnnotation(dataCorrect = true)

? ? public void test1() {

? ? ? ? System.out.println("test1");

? ? }


? ? @Test

? ? @MyCustomAnnotation(dataCorrect = false)

? ? public void test2() {

? ? ? ? System.out.println("test2");

? ? }

}

您還需要更改默認(rèn)配置失敗策略,以便即使跳過(guò)一個(gè)測(cè)試也可以運(yùn)行其他測(cè)試。這是在套件級(jí)別完成的:


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

<suite name="Suite" configfailurepolicy="continue">

...

</suite>

感謝@Kyle OP指出這個(gè)屬性。


查看完整回答
反對(duì) 回復(fù) 2023-09-27
?
白豬掌柜的

TA貢獻(xiàn)1893條經(jīng)驗(yàn) 獲得超10個(gè)贊

在BeforeMethod中創(chuàng)建一個(gè)靜態(tài)Booleanflag,如果數(shù)據(jù)不正確,則只需將標(biāo)志更改為true,然后在布爾為true的測(cè)試中首先將標(biāo)志更改為false并失敗測(cè)試


示例代碼


public static Boolean myflag=false;


@BeforeMethod

public void beforeMethod(Method m){

     //reads code

     if (dataNotCorrect)

          myflag=true;

}


@Test @MyCustomAnnotation(data = incorrect)

public void Test1(){

     if(myflag){

       myflag=false;

       s_assert.fail();

}


查看完整回答
反對(duì) 回復(fù) 2023-09-27
  • 3 回答
  • 0 關(guān)注
  • 176 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)