将一个JUnit @Test的结果与同一个类中的另一个@Test进行比较

时间:2012-04-04 21:12:25

标签: selenium junit4

是否可以将一个JUnit测试的结果/输出与同一个类中的另一个测试进行比较?

以下是

的算法
Public class CompareResult {

@Before
{
open driver
}

@After
{
quit driver
}

@Test
{
Connect to 1st website
Enter data and calculate value
Store the value in Variable A
}


@Test
{
Connect to 2nd website
Enter data and calculate value
Store the value in Variable B
}

@Test
{
Compare A and B
}
}

当我显示变量A&的值时第3个@Test中的B,它是NULL。我们不能在一个@Test中将变量用于JUnit中的另一个@Test吗?请指教,我是JUnit的新手。

2 个答案:

答案 0 :(得分:2)

为什么他们需要进行两次测试?如果要比较这些值,那么实际上有一个测试有多个方法,可能还有多个断言。如果helper1和helper2中没有任何断言,这就更加明显了。没有断言的测试只是测试它不会爆炸!

private helper1
{
    // Connect to 1st website
    // Enter data and calculate value
    // Store the value in Variable A
}


private helper2
{
    // Connect to 2nd website
    // Enter data and calculate value
    // Store the value in Variable B
}

@Test actualTest
{
    // Compare A and B with assertion
}

答案 1 :(得分:0)

根据我的理解,您将值存储在局部变量中。首先声明私有字段A和B,然后使用它来存储数据。

Public class CompareResult {

    private String a = null;
    private String b = null;

    @Before
    public void Setup() {
        open driver
    }
    ...

顺便说一句,你的测试应该是独立的,并且将值从一个测试传递到另一个不是一个好方法来实现它们。此外,我没有使用junit很多,所以我不知道你的测试的执行顺序是如何设置的。您应该定义一些测试依赖项或类似的东西,我再次重复它:这对于测试来说是不正确的。