java - TestNG 预期的异常测试通过,尽管在调用的代码中没有抛出异常
问题描述
我在 TestNG 遇到了这种奇怪的情况,希望有人能提供帮助。
我正在尝试测试 IllegalArgumentException,本质上是试图阻止任何可能最终被传递到模型上的 setter 的恶意内容。我用预期的异常注释的测试编译并运行良好,但尽管我没有在代码中抛出任何 IllegalArgumentException,但它通过了,我不知道为什么。
public class CarTest extends ModelTest {
@Test(expectedExceptions = InvalidArgumentException.class)
public void willThrowInvalidArgumentExceptionWhenSettingEngineToNull() throws InvalidArgumentException{
Car car = new Car();
car.setEngine(null);
}
}
尽管没有抛出异常,但它通过了。
我正在使用的模型是一个 groovy 模型,因此已经有一个用于该属性的公共设置器。
我已经更改了模型名称,但在这种情况下应该没有任何区别。
提前感谢您的智慧
解决方案
我已经通过删除 IntelliJ 中的 .idea 文件夹并使用我的 pom.xml 文件重新导入我的项目来解决这个问题,我只能假设 TestNG 没有被正确拉入,这就是为什么没有完全识别出 expectedExceptions 的原因。
推荐阅读
- javascript - 为什么使用 JavaScript 添加 loading="lazy" 不能真正延迟加载图像?
- amazon-web-services - 查找我可以列出和获取但不拥有的大型 s3 存储桶大小的快速方法?
- django - 为什么 React Native 会从 Django 接收“models.TextChoices”属性作为转换为字符串的元组?
- python - 如何使用 Python 获取 Azure 的所有存储帐户名称及其访问密钥
- php - 如何在 Divi Cusotm Module 上构建 yarn 后添加自定义模块 js 和 css?
- javascript - 用两个按钮切换布尔值
- python-3.x - 如何从该网站提取表格数据?
- javascript - 有没有办法列出网页上找到的所有图片链接/网址?
- javascript - 在 Http 上访问摄像头
- ruby-on-rails - RSpec JUnit 格式化程序输出