Я пытаюсь выяснить, как получить результаты теста Canopy для отображения в проводнике тестов VS. Я могу показать свои тесты, и они будут запускаться, но они всегда показывают результат. Похоже, что функция Run() «съедает» результаты, поэтому VS никогда не видит сбоев.
Я уверен, что это конфликт между тем, как Canopy хорошо интерпретирует исключения, которые он получает в результатах тестирования, потому что обычно вы хотите, чтобы Run() выполнялся успешно независимо от результата и сообщал о своих результатах, используя свои собственные отчеты.
Может быть, мне следует перенаправить вывод и интерпретировать его в коде тестирования MS?
Так вот как я это настроил прямо сейчас...
Visual Studio Test Runner ищет в этом файле то, что он считает тестами, они вызывают методы навеса, которые выполняют реальное тестирование.
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