问题内容: 有什么原因为什么不能使用其hashCode方法测试Java字符串的相等性?所以基本上,而不是… 你可以用… 这将很有用,因为一旦字符串计算出其哈希码,则比较字符串将与比较int一样有效,因为该字符串将缓存哈希码,并且如果您将字符串设计为方式。 问题答案: 因为:如果两个对象相等,则两个对象的hashCode必须相等,但是,如果两个对象不相等,则hashCode仍可以相等。 (评论后修改
问题内容: 我正在测试具有预期异常的方法。我还需要在引发异常后验证是否在某个模拟对象上调用了一些清除代码,但看起来该验证已被忽略。这是代码。我正在使用Junit 验证预期的异常。 似乎完全被忽略了。无论我采用什么方法,我的测试都通过了,这不是我想要的。 知道为什么会这样吗? 问题答案: 通过将整个测试方法通过JUnit @Rule 包装在try- catch块中来工作。当您的代码引发异常时,它将堆
问题内容: 我正在使用JUnit编写一些测试用例。我需要初始化一些静态变量,这些变量将用于该类中的所有测试用例。 为此,我可以使用 静态初始化程序块或 静态方法 相互使用有什么好处? 问题答案: 或初始值设定项的语义非常不同。 静态初始化器由JVM而不是JUnit调用。如果在静态初始化程序中引发了异常,则测试框架可能无法捕获并报告该异常。此外,与该方法相比,静态初始化程序的调用时间没有明确定义。
问题内容: (这是我的同事在其他地方发布的一个问题,但我认为我应该在这里发布,以查看是否可以吸引其他受众。) 大家好,我正在测试编写一个小型Java应用程序的可能性,该应用程序将使用Psexec启动远程作业。在测试将Java程序的stdin和stdout绑定到psexec的过程中,我遇到了一个奇怪的错误。 我的测试程序是一个基本的回声程序。它启动一个从stdin读取的线程,然后将读取的输出直接通过
问题内容: 初始化JavaFX运行时的正确方法是什么,以便您可以对使用并发工具和的控制器进行单元测试(使用JUnit)? 从该方法调用会导致死锁。如果未调用,则会引发以下错误: 后续:这是我根据@SergeyGrinev的建议一直使用的主题。 问题答案: 调用由是正确的做法。请注意,这不会将控制权返回给调用代码。因此,您必须将其包装到中。 7年后的更新: 使用TestFX!它将以适当的方式进行启动
问题内容: 这可能以前曾被问过,但是快速搜索只提出了询问C#的相同问题。看这里。 我基本上想做的是检查给定对象是否实现了给定接口。 我有点想出了一个解决方案,但这不足以在if或case语句中频繁使用它,我想知道Java是否没有内置解决方案。 编辑:好的,谢谢您的回答。特别是对于Damien Pollet和Noldorin,您让我重新考虑了设计,因此我不再测试接口。 问题答案: 该运营商确实在工作安
问题内容: JUnit框架包含2个类(显然是在不同的包中),每个类的方法似乎非常相似。有人可以解释为什么吗? 我要参考的类是:和。 问题答案: (JUnit 3的)旧方法是通过扩展标记测试类。那继承了它自己,并且您的测试类获得了以这种方式调用assert方法的能力。 从JUnit版本4开始,该框架用于标记测试。因此,您不再需要扩展。但这意味着,断言方法不可用。但是您可以静态导入新类。这就是为什么新
问题内容: 我目前正在研究Java应用程序(基准),该应用程序旨在确保某些相对于数据库的进程。 我的应用程序应该运行以下内容: 我有多个要多次运行的用例(数据库中的简单插入,简单更新等)。运行之间的唯一区别是,同时运行的线程数。 我需要使用1、2、4、8、16等线程来整理这些用例,以便在我的测试中使用并发性(使用ExecutorService)。 我的问题 : 我的应用是否需要在每次运行前进行预热
问题内容: 我对此很好奇。 我想检查哪个功能更快,所以我创建了一些代码,执行了很多次。 “第二个”循环更快,因此,我认为hadoop的Bytes类比String类的函数更快。然后,我更改了循环顺序,然后c.getBytes()变得更快。我执行了很多次,结论是,我不知道为什么,但是在执行第一个代码后,我的VM中发生了一些事情,因此第二个循环的结果变得更快。 问题答案: 这是经典的Java基准测试问题
问题内容: 我正在创建需要将服务连接到sql server的应用程序。添加依赖项后运行测试代码时,它成功运行。这是成功运行的测试代码: 但是,当我为jdbc添加依赖项并在创建服务时运行相同的代码时,它给了我类似以下的错误: 我在pom.xml中添加了此依赖项: 我应该进行哪些更改,以便在创建服务时成功建立连接? 问题答案: 您的依赖项的范围是,这意味着当应用程序正常运行(而不是作为测试)时,它将不
问题内容: 我想直接通过HTTP测试我的RESTful应用程序,我正在寻找可以帮助我完成该任务的工具。基本上,我正在寻找一个HTTP请求的简单包装,该请求可以提交例如HTML表单或序列化资源(如JSON或XML)。 如果有一种方法可以验证服务是否确实遵循REST体系结构准则(无状态,URI,内容协商等),那将是很好的。 能够与JUnit一起使用将是一个方便的好处。您是否知道任何可以帮助我完成我想做
问题内容: 我正在通过编写一个小型个人项目来学习Go。即使很小,我还是决定从头开始进行严格的单元测试,以学习Go的良好习惯。 琐碎的单元测试都很好而且花哨的,但是我现在对依赖项感到困惑;我希望能够用模拟函数替换一些函数调用。这是我的代码片段: 我希望能够测试downloader()而不实际通过http获取页面- 即通过模拟get_page(更容易使用,因为它仅将页面内容作为字符串返回)或http.
问题内容: 有没有人成功地为Go单元测试生成代码覆盖率?我在网络上找不到该工具。 问题答案: 请注意,Go1.2(2013年第四季度,rc1可用)现在将显示 测试覆盖率结果 : 的一项主要新功能是, 它现在可以计算并在单独安装的新程序的帮助下显示测试覆盖率结果。 该工具是一部分subrepository。可以通过运行安装 封面工具有两件事。 首先,给“ ” 标志时,它将自动运行以重写包的源并插入检
问题内容: 我有一个嵌套的结构。这些是由json解组器构造的。 但是,此结构中的某些字段是’omitifempty’的,因此我以一个可以在各个位置包含nill的结构结束op。 示例(真正的东西嵌套得更深,很大:400行结构): 问题是,是否存在一种更通用的方法来测试参考树中的某个节点是否为nil?我需要获得很多不同的项目,而编写所有这些if语句将很痛苦。哦,速度值得关注。 问题答案: 一种优雅的处
问题内容: 在编写jenkins管道时,提交每个新更改以查看其是否有效似乎非常不便。 是否可以在不提交代码的情况下在本地执行这些操作? 问题答案: 您不能在本地执行Pipeline脚本,因为它的全部目的是编写Jenkins脚本。(这就是为什么最好使您的文章简短且仅限于实际处理Jenkins功能的代码的原因之一;您的实际构建逻辑应由您通过一行或一步调用的外部流程或构建工具来处理。) 如果您想测试更改