代码之家  ›  专栏  ›  技术社区  ›  Sk1X1

测试用例(场景)-一个或多个方法?

  •  0
  • Sk1X1  · 技术社区  · 6 年前

    例子:

    public void test() {
        //click or button (open new activity)
        //check if activity is opened
        //open firm selection (open new activity)
        ....
    }
    

    public void test1(){
        //click or button (open new activity)
        //check if activity is opened
    }
    
    public void test2(){
        //open firm selection (open new activity)
    }
    ...
    public void testX(){
        //file at the end is created
    }
    

    2 回复  |  直到 6 年前
        1
  •  1
  •   davidxxx    6 年前

    您编写的内容看起来像一个UI用户场景测试。

    这样做是一个错误,因为每个测试方法都会更新应用程序的状态,并且可能依赖于以前的测试所做的更改。您将得到必须按特定顺序进行的耦合测试,第一个测试中的更改将对其他测试产生影响。

    因此,通过不同的用户故事/用例实例定义一个单独的测试方法似乎真的是一种方法,并且使事情更清楚。

    The basic Espresso example

    @Test
    public void greeterSaysHello() {
        onView(withId(R.id.name_field)).perform(typeText("Steve"));
        onView(withId(R.id.greet_button)).perform(click());
        onView(withText("Hello Steve!")).check(matches(isDisplayed()));
    }
    
        2
  •  0
  •   SleepyX667    6 年前

    我将执行以下操作:

    1. myTestMethod_withNegativInput() &安培; myTestMethod_withPositiveInput()
    2. 编写一些集成测试,其中包括应用程序的更多层(例如,服务的集成测试,使用持久层中的某些方法)。您可以使用这些测试来验证应用程序层是否在一起工作)。(在这里,您正在测试一个类的一个方法)