在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ Scala/ 測試結(jié)果 Results
Spec2 可選的 Matcher(匹配運(yùn)算)
測試結(jié)果 Results
Specs2 的設(shè)計思想
Fragments API 簡介
簡介
期望結(jié)果
Spec2 內(nèi)置的 Matcher(匹配運(yùn)算)

測試結(jié)果 Results

在第一篇文章我們說過 Specs 可以有兩種風(fēng)格的測試規(guī)范:單元測試規(guī)范和驗(yàn)收測試規(guī)范,我們來看其中的一個例子:

def is =                     s2"""

  this is my specification
    and example 1            $e1
    and example 2            $e2
                             """

def e1 = success
def e2 = success

這段代碼從 S2 字符串創(chuàng)建一組 Fragments(測試用例)對象,這個例子創(chuàng)建了一個 Text 對象和兩個 Example 對象(它們都是 Fragment 的子類)。

在 Specs2 的 Example 對象為一個文字加上任意可以轉(zhuǎn)換成 Result 對象(org.specs2.execute.Result)的對象,它可以是:

  • 一個標(biāo)準(zhǔn)測試結(jié)果(Success,failure,pending 等)
  • 一個Matcher(匹配)結(jié)果
  • 一個布爾值
  • 一個 ScalaCheck 屬性

標(biāo)準(zhǔn)測試結(jié)果

最簡單的 Result 值由 StandardResults Trait 定義,可以有如下幾種值:

  • success: 這個測試結(jié)果正常
  • failure: 這個測試結(jié)果不滿足預(yù)期
  • anError: 測試出現(xiàn)異常
  • skipped: 該測試被跳過(不滿足某些條件)
  • pending: 通常只這個測試用例還沒實(shí)現(xiàn)

此外還有兩種情況:

  • done: 這個測試結(jié)果正常并顯示 “DONE”
  • todo: 測試用例還沒實(shí)現(xiàn)顯示“TODO”

匹配

通常 Example 定義體使用 Matcher 定義期望值:

def e1 = 1 must_== 1

Matcher 我們在后面繼續(xù)詳細(xì)介紹。

下一篇:簡介