Cucumber 和 Watin 用于 Asp.Net MVC 中的验收测试

软件测试 自动化测试 瓦提尔 瓦廷 规范流
2022-01-23 15:43:47

如果企业主/QA 正在针对 Asp.Net Mvc 应用程序的前端编写/运行验收测试,除了“全部在一个平台上”之外,使用 SpecFlow/Watin 或 SpecFlow/Selenium 而不是 Cucumber/Watir 是否有好处“ 益处?

1个回答

对我来说主要的好处是 Specflow 将功能文件编译到单元测试中。

我正在使用 NUnit,借助此功能,我可以在一个套件中运行以“经典”风格和 GivenWhenThen 风格编写的测试。当我试图用 Gherkin (Specflow) 来描述它们时,有些事情看起来很荒谬:

Scenario: The edit user page should have button Delete
Given I am on the EditUserPage 
When I open ‘MyUser’ for edit
Then I see the Delete button on the EditUserDetailsPage

想象一下,如果我在一个功能中有大约 20 个这样的 UI 场景,那么谁会阅读所有这些 GivenWhenThen 混乱?

当然,我可以改进该场景以一步完成,但我正在编写一个经典的单元测试:

public void The_edit_user_page_should_have_button_Delete()
{
    EditUserDetailsPage editUser = new EditUserDetailsPage();
    editUser.Invoke(“MyUser”);
    Asset.IsTrue(editUser .btnDelete.Exists, “Button Delete should be there”);
}

使用 Specflow,我可以在一个测试套件中使用经典的单元测试和功能,因为 Specflow 将场景编译到单元测试中