TestNg中的斷言你真的了解嗎

2022-02-24 18:22:01 字數 1154 閱讀 4187

在執行自動化測試指令碼的時候,我們需要自動判斷測試指令碼執行完成後的實際結果是否與預期結果一致,這個時候就需要在程式執行之前寫入斷言,判斷當前程式執行後是否正常。

關於testng斷言分為兩種:

在testng中,assert類為硬斷言,裡面有多個靜態方法被稱為硬斷言,特點就是,如果指令碼執行斷言失敗,馬上停止執行,後面**將不會被執行。

testng中提供了多個assert*()方法,主要是匹配不同的資料型別和集合類及其他物件操作。

舉例如下:

import

org.testng.assert;

import

org.testng.annotations.test;

public

class

testassert

}

執行上面的**,結果如下:

從上面可以看出assertequals中expected和actual不相等,如果實際結果和預期結果不相等,就會丟擲斷言異常並顯示內容,這樣丟擲的錯誤,更方便定位錯誤的原因和具體的業務邏輯。

在testng中,softassert類為軟斷言,特點是如果執行斷言失敗,不會停止執行,會繼續執行這個斷言下的其他語句或者斷言,不影響其他斷言的執行。

舉例如下:

import

org.testng.annotations.test;

import

org.testng.asserts.softassert;

public

class

testsoftassert

}

執行上面的**,結果如下:

通過執行結果發現,可以看到在斷言5和6相等的這行**後,,還有其他的語句,如果這裡採用的是硬斷言,那麼後面的"指令碼執行結束""我是觀望,到這會不會執行的"

是不會輸出的

也就是這兩條語句不會輸出。這個就是softassert的優點,再強調一次,最後一定要呼叫assertall()方法。

你真的了解Java中的Instanceof嗎?

instanceof 是乙個簡單的二元操作符,它是用來判斷乙個物件是否是乙個類例項的 boolean b1 sting instanceof object b1為true因為string是object的子類 boolean b2 new string instanceof string b2為tru...

你真的了解Java中的Instanceof嗎?

instanceof 是乙個簡單的二元操作符,它是用來判斷乙個物件是否是乙個類例項的 boolean b1 sting instanceof object b1為true因為string是object的子類 boolean b2 new string instanceof string b2為tru...

你真的了解css中的換行嗎

我們經常會遇到這樣的問題,純數字不能自動換行,連續輸入的英文不能換行,或者篇文章中一行到達容器的末端以後沒有在我們想要的位置進行換行,換行後會截斷某個單詞等問題,今天我們就說說css中關於換行的一些屬性,和使用技巧 在介紹之前我們先來看一下瀏覽器預設情況下文字的超出容器的處理情況 案例展示 通過上邊...