处理许多测试用例的最佳方法,这些测试用例需要在运行其断言之前导航到特定的位置?例如,流程有5个步骤,测试用例需要测试步骤5的一部分,我如何设置它?在此测试用例中调用前面步骤的测试用例方法,并对所有测试步骤5的测试用例执行测试?
类似地,如果一个测试用例深入到网站中--通过许多页面--应该为每个测试用例重新编写导航,还是只需要调用一些已经这样做的测试?
对这种情况有什么建议吗?
发布于 2018-08-16 20:34:56
处理许多测试用例的最佳方法,这些测试用例需要在运行其断言之前导航到特定的位置?例如,流程有5个步骤,测试用例需要测试步骤5的一部分,我如何设置它?
我将创建一个传输类/模式,测试用例可以调用这个类/模式来达到该状态。这将使导航代码可重用到其他测试,而不会使测试过于庞大/复杂。还可以在每次测试之前调用setUp()测试框架中的xUnit方法,如果需要用于其他测试,可以将导航器代码放在那里。
类似地,如果一个测试用例深入到网站中--通过许多页面--应该为每个测试用例重新编写导航,还是只需要调用一些已经这样做的测试?
我会将该代码提取到一个名为Transporter的助手类中,并让测试调用它,以便在一个方法调用中轻松导航到深层页面。
在太平洋西北软件质量会议上,我在会议文件中写过这个和其他测试设计模式。查找纸中的传输模式。
下面是一个使用Transporter类的示例,其中您必须登录并导航到结帐页面:
public class Transporter {
public static void login() {
//App specific code to navigate to login screen and login to the application
}
public static void gotoCheckout() {
//App specific code to navigate to the checkout page
}
}现在,您的测试可以调用这个Transporter类来为它们进行导航。
发布于 2018-08-16 13:56:08
如果您使用的是BDD,例如JBehave (不确定Cucumber是否具有相同的功能),那么Gherkin语法中的故事(特性)结构可以使用"GivenStories“功能,这就像前传测试用例一样,可以为您的特定测试用例设置,正如您所描述的那样。
但是,当使用BDD简单地创建多个步骤场景导致特定测试用例时,没有什么错,即第一个场景登录,第二个场景导航到特定页面,第三个场景执行实际测试。
但是,通过将其写成一个单独的故事(特性),您可以在JBehave中重用它们作为“JBehave”作为实现所需位置的快捷方式,而无需重复步骤。
https://stackoverflow.com/questions/51878088
复制相似问题