Nightwatch101 #19:依照標籤做測試(Test Tags)
29 Dec 2017Nightwatch 允許開發者使用標籤(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
指定跑含有 index 或 campaign 的測試程式,所以跑了 2 支檔案 – testDemo.js 和 test1111.js。
nightwatch --tag index --tag campaign
依照標籤忽略測試
忽略而不跑含有 index 標籤的測試程式,所以跑了 4 支檔案。
nightwatch --skiptags index
忽略而不跑含有 index 和 campaign 標籤的測試程式,所以跑了 3 支檔案。使用逗點分隔即可,且逗點後不可有空格。
nightwatch --skiptags index,campaign
總結
在之前的篇章 Nightwatch Test Runner 提到常用 Command-line 選項設定,在本篇於是學到了
- 使用
nightwatch –tag [tag_name]
(或簡寫nightwatch -a [tag_name]
)來分標籤做測試,使用標籤的好處是一個測試可有多個不同的標籤,不必受限於分類的唯一和垂直特性,相較有彈性。 - 使用
nightwatch –skiptags [tag_name]
來指定忽略有特定標籤的測試程式。
下一篇來看禁跑特定測試(Disable Tests),禁跑特定 Test Suite 和 Test Case 的方法。