Canopy のテスト結果を VS テスト エクスプローラーに表示する方法を見つけようとしています。テストを表示して実行できますが、常にパスが表示されます。Run() 関数が結果を「食べている」ように見えるので、VS は決して失敗しません。
通常、結果に関係なく Run() を成功させ、独自のレポートを使用して結果を報告する必要があるため、Canopy がテスト結果に含まれる例外を適切に解釈する方法との間に矛盾があると確信しています。
おそらく、出力をリダイレクトして、MS テスト コードでそれを解釈する必要がありますか?
というわけで、今の設定方法は…
Visual Studio Test Runner は、このファイルを参照してテストと見なすものを探します。これらは、実際のテストを行う canopy メソッドを呼び出します。
open canopy
open runner
open System
open Microsoft.VisualStudio.TestTools.UnitTesting
[<TestClass>]
type testrun() =
// Look in the output directory for the web drivers
[<ClassInitialize>]
static member public setup(context : TestContext) =
// Look in the output directory for the web drivers
canopy.configuration.ieDir <- "."
canopy.configuration.chromeDir <- "."
// start an instance of the browser
start ie
()
[<TestMethod>]
member x.LocationNoteTest() =
let myTestModule = new myTestModule()
myTestModule.all()
run()
[<ClassCleanup>]
static member public cleanUpAfterTesting() =
quit()
()
myTestModule は次のようになります
open canopy
open runner
open System
type myTestModule() =
// some helper methods
member x.basicCreate() =
context "The meat of my tests"
"Test1" &&& fun _ ->
// some canopy test statements like...
url "http://theURL.com/"
"#title" == "The title of my page"
//Does the text of the button match expectations?
"#addLocation" == "LOCATION"
// add a location note
click ".btn-Location"
member x.all() =
x.basicCreate()
// I could add additional tests here or I could decide to call them individually