SpecFlow.MsTest

ก่อนหน้านี้ เราจะใช้เครื่องมือที่ชื่อว่า SpecRun.SpecFlow ในการรัน Test Scenario และสร้างรายงาน Test Execution Report.html ซึ่งปัญหาที่เราพบก็คือ เราไม่สามารถสร้างไฟล์ผลการทดสอบ .trx ซึ่งเป็นไฟล์ที่ได้จากการรัน MsTest ทำให้เกิดปัญหาตามมาดังนี้ครับ

  • ไม่สามารถนำผลไปใช้ใน Team Foundation
  • ถ้าใครใช้ Test Report ของ Pickles จะไม่สามารถนำผลการทดสอบมารวมใน Pickles Report ได้ครับ

ซึ่งวิธีแก้ปัญหานี้ เราจะเปลี่ยนมาใช้เครื่องมือที่ชื่อว่า Specflow.MsTest ครับ

อันดับแรก uninstall SpecRun.SpecFlow ออกกันก่อน

uninstall-package SpecRun.SpecFlow

แล้วค่อยเปลี่ยนมาใช้ Specflow.MsTest

install-package specflow.mstest

เมื่อเข้าไปดูไฟล์ App.config จะเห็นว่า UnitTest Provider เปลี่ยนเป็น MSTest

2016-05-26_172436

ที่นี้ลองมารัน Test Explorer ซึ่งจะได้ผลดังนี้ครับ
(สังเกตว่าภาษาไทยสระลอยมีปัญหา แต่เราไม่ใส่ใจครับ เนื่องจาก Pickles Test Report ยังคงแสดงภาษาไทยได้ถูกต้อง)

2016-05-26_172614

ทีนี้เรามาสร้างไฟล์ .trx กันครับ

1. เปิด Command Prompt

2016-05-26_173043

2. ใส่คำสั่ง mstest ดังนี้ครับ
(สามารถดูเงื่อนไข หรือคำสั่งได้โดยใช้ “mstest /help” นะครับ)

mstest /testcontainer:UnitTestProject1\bin\Debug\UnitTestProject1.dll /category:”mytag”

Enter ได้เลย

2016-05-26_135420

จากรูปด้านบนจะเห็นผลลัพธ์
Passed = 1
Failed = 1

เข้าไปดูที่ Folder : TestResults จะได้ไฟล์นามสกุล .trx  เมื่อเปิดไฟล์ .trx จะแสดงดังรูปครับ

2016-05-26_173727

สามารถคลิกขวาเลือก View Test Results Details เพื่อดูรายละเอียดได้เลย

2016-05-26_173950

 

1 thoughts on “SpecFlow.MsTest

ใส่ความเห็น