當我使用ServiceStack創建服務時,只需實例化該類並運行我的單元測試,他們可以輕鬆測試。使用FluentValidation進行單元測試ServiceStack
但是使用這種方法,驗證器不會觸發,因爲運行時會綁定它們,並且在調用serivce之前它們是triggert。
我是否需要使用正在運行的服務進行IntegrationTests?或者有更聰明的方法嗎?
當我使用ServiceStack創建服務時,只需實例化該類並運行我的單元測試,他們可以輕鬆測試。使用FluentValidation進行單元測試ServiceStack
但是使用這種方法,驗證器不會觸發,因爲運行時會綁定它們,並且在調用serivce之前它們是triggert。
我是否需要使用正在運行的服務進行IntegrationTests?或者有更聰明的方法嗎?
這取決於你想要測試的是什麼。 您可以爲您的驗證器類傳遞不同的DTO請求對象進行測試。 您也可以通過從TestBase繼承您的測試夾具進行集成測試。
我們這樣做:單元測試實際的驗證器,然後再進行全集成測試 - 因此我們可以測試整個過濾器管線。
我們的單元測試看起來有些東西一樣:
[Test]
public void Validate_POST_ValidRequest_ExpectIsValidTrue()
{
var request = new MyRequest { Id =99, Name = "fr", Venue = "My Venue", Age = 9 };
var validateRunner = new MyValidator();
var result = validateRunner.Validate(request, ruleSet: "POST");
Assert.That(result.IsValid, Is.True);
}