Классы
При использовании let
связывания внутри класса, тем let
связывание является частным (т.е. не является общедоступной). Поэтому вы не можете использовать его в качестве метода тестирования.
Если вы хотите использовать NUnit с классом в F #, вы будете иметь, чтобы украсить это метод с [<Test>]
атрибута:
[<TestFixture>]
type TestClass() =
[<Test>]
member this.SomeTest() =
// Test goes here
()
Последний раз я использовал NUnit, вы также были к добавьте атрибут [<TestFixture>]
к самому классу, поэтому я добавил это также. Обычно я не использую NUnit, поэтому я не знаю, требуется ли еще.
Модули
Вы также можете написать свои тесты в модулях, в этом случае вы можете украсит let
связанной функции с атрибутом [<Test>]
, так как в этом случае он компилирует к общественности, статический член:
module MyTests =
[<Test>]
let ``a function in a module that works as a test``() =
// Test goes here
()
По крайней мере, тестовый бегун, который я использую (TestDriven.net), обнаруживает и запускает этот тест. Я не знаю, будут ли это делать и другие испытательные бегуны.
Для общего ознакомления с модульными испытаниями с помощью F # и многое другое вы можете рассмотреть возможность просмотра моего Pluralsight course called Unit Testing with F#.
Пожалуйста, не публикуйте скриншоты своего кода - разместите сам код: http://stackoverflow.com/editing-help#code-spans –