iT邦幫忙

2018 iT 邦幫忙鐵人賽
DAY 19
1

Nightwatch.js

Nightwatch 允許開發者使用標籤(tag)標記測試程式,在跑測試的時候可指定跑特定標籤的部份。使用標籤的好處是一個測試可有多個不同的標籤,不必受限於分類的唯一和垂直特性,相較有彈性。

♡(´∀`)人(´∀`)♡

本系列文章皆使用這個專案,可以拉下來玩玩;有什麼問題都可以提出 issue


依照標籤跑測試

範例檔案結構如下所示,括號後面是標記的標籤。

tests/e2e
  ├── class
  |   ├── testMainCategory.js (class)
  |   └── testSubCategory.js (class)
  ├── point
  |   ├── test1111.js (campaign, point)
  |   └── testHotTopics.js (point)
  └── testDemo.js (index)

在測試程式中,Test Suite 可設定標籤。這裡有兩個標籤:campaign 和 point。

module.exports = {
  '@tags': ['campaign', 'point'],
  'Demo Ruten Campaign 1111 Page': browser => {
    browser
      .url('http://pub.ruten.com.tw/20171111/index.html')
      .end()
  }
}

指定只跑含有 point 這個標籤的測試程式,所以跑了兩支檔案 test1111.js 和 testHotTopics.js。

nightwatch --tag point

Nightwatch Test Tags

指定跑含有 index 或 campaign 的測試程式,所以跑了 2 支檔案 -- testDemo.js 和 test1111.js。

nightwatch --tag index --tag campaign

Nightwatch Test Tags

依照標籤忽略測試

忽略而不跑含有 index 標籤的測試程式,所以跑了 4 支檔案。

nightwatch --skiptags index

Nightwatch Skip Tags

忽略而不跑含有 index 和 campaign 標籤的測試程式,所以跑了 3 支檔案。使用逗點分隔即可,且逗點後不可有空格。

nightwatch --skiptags index,campaign

Nightwatch Skip Tags

總結

在之前的篇章 Nightwatch Test Runner 提到常用 Command-line 選項設定,在本篇於是學到了

  • 使用 nightwatch –tag [tag_name](或簡寫 nightwatch -a [tag_name])來分標籤做測試,使用標籤的好處是一個測試可有多個不同的標籤,不必受限於分類的唯一和垂直特性,相較有彈性。
  • 使用 nightwatch –skiptags [tag_name] 來指定忽略有特定標籤的測試程式。

下一篇來看禁跑特定測試(Disable Tests),禁跑特定 Test Suite 和 Test Case 的方法。


網誌版


上一篇
Nightwatch101 #18:依照分組做測試(Test Groups)
下一篇
Nightwatch101 #20:禁跑特定測試(Disable Tests)
系列文
Nightwatch101:使用 Nightwatch 實現 End-to-End Testing30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言