是否可以将一个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的新手。
答案 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很多,所以我不知道你的测试的执行顺序是如何设置的。您应该定义一些测试依赖项或类似的东西,我再次重复它:这对于测试来说是不正确的。