栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Junit 4.12问题测试异常

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Junit 4.12问题测试异常

刚刚测试过,可以按预期工作…上课…

public class SomeClass {    public void someMethod(String someParameter) throws SomeException {        throw new SomeException("Yep, really a SomeException");    }}

例外…

public class SomeException extends Exception {    public SomeException(String message) {        super(message);    }}

和测试类一样,两个测试完全按预期工作:

public class TestSomeClass {    @Rule    public ExpectedException exception = ExpectedException.none();    @Test    public void testSomeMethodWithRule() throws SomeException {        exception.expect(SomeException.class);        new SomeClass().someMethod("something");    }    @Test(expected=SomeException.class)    public void testSomeMethodWithExpected() throws SomeException {         new SomeClass().someMethod("something");    }}

下载完您的项目(请参阅注释)后,我不确定 为什么 ,但是我知道问题 在哪儿:这是

extendsTestcase
。我假设这会以某种方式导致执行单元测试的不同方式(stacktrace意味着它们将通过
JUnit38ClassRunner
then
执行)。删除它(无论如何您都不需要它)
Assert.<something>
,例如,使用调用断言
Assert.assertTrue(...)
。(您也可以为此使用静态导入,因此不必编写Assert部分)。那解决了您的问题,所有测试都成功。

另一种可能性似乎是保留

extendsTestCase
和使用
@RunWith(BlockJUnit4ClassRunner.class)
,这也可以解决您的问题,因此TestCase的默认Runner可能不适合它。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/393609.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号