我是自动化测试的新手,并使用espresso来测试我的Android应用程序。
问题是我有多个动态视图,具体取决于某些条件:
我的用户有一个布尔属性,让我们称之为" isPremium"
当我点击一个按钮时,如果isPremuim == true,我的用户将被重定向到FragmentA,否则他将被重定向到FragmentB。
现在我的测试
@Test public void testFragmentA();
和
@Test public void testFragmentB();
但是当我根据我的数据运行测试时,强制执行两个测试中的一个。
所以我应该对这两个片段进行一次测试,比如
private void testFragmentA();
private void testFragmentB();
@Test
public void myGlobalTest {
if(user.isPremium) testFragmentA();
else testFragmentB();
}
这是进行测试的正确方法吗?或者还有另一种更好的方法,因为我真的不相信这种方法。
答案 0 :(得分:1)
最好在每个测试开始时设置premium的值(对于testFragmentA为true,对于testFragmentB为false)。通过这种方式,您将了解您的期望以及每个片段所依赖的内容。 此外,如果用户是某个全局变量,您应该将其状态保存在@Before中并在@After方法中恢复它。
Data Source=SrvName;Provider=SQLNCLI11.1;Integrated Security=SSPI;Auto Translate=False;Initial Catalog=DB1;User Id=Usr;Password=Pwd;