gpt4 book ai didi

java - 测试 java 中预期的编译时错误

转载 作者:行者123 更新时间:2023-11-30 09:03:32 24 4
gpt4 key购买 nike

这个问题可以被认为是这个 c++ 问题的 Java 版本:Unit test compile-time error

我正在编写一些与 Java 中的泛型混淆的实用程序类,事情变得很奇怪,以至于我发现自己希望我知道如何为应该会导致编译器错误的代码编写单元测试。我知道如何仅在抛出预期异常时通过单元测试。不知道如何让它仅在我收到预期错误时通过。这可能吗?如果是这样,如何?有这样做的典型方法吗?有 jUnit 方式吗?

一个例子是以一种应该导致错误的方式使用一种方法(比方说,执行转换的方法)。我想要一个只有在调用该方法的代码产生错误时才会通过的测试。我会将它与其他不应导致错误的测试一起运行。

另一个例子是Generic And Parameterized Types并注意评论经常说“因 ClassClassException 而失败”“应该失败,但会成功”之类的话。这些看起来像是可以自动化的测试。

这不是为了测试编译器。这是为了测试我写的通用代码是否做了它应该做的事情。

我的直觉告诉我,这超出了编译器或库可以做的范围,并且进入了 IDE 魔术、奇怪的项目配置或静态代码分析的领域。我真的不知道。我只是想确保代码会导致错误,就像我一样,它不会导致不应该出现的错误。我使用 eclipse、ant 和 jUnit,因此详细说明如何使用它们完成此操作的答案将是完美的。

最佳答案

您可以使用其他软件运行一些命令并检查其结果。然后很容易检查编译时错误。可以用某种语言将其编写为脚本或用 java 编写为单独的项目,但它必须与您的项目不同。

您要运行的命令应该是 javac、ant 或任何其他命令,具体取决于您的 IDE。

关于java - 测试 java 中预期的编译时错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25600007/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com