java - Junit测试用例: Connection refused case

标签 java unit-testing connection junit4

我正在编写 Junit(4.x) 测试来测试 Web 应用程序关闭时会发生什么。

当我在浏览器中点击该网址时,我收到一条消息“连接被拒绝”。

我不确定在断言语句中要检查什么。

我要检查此消息的 header 吗? -- urlConnection.getResponseMessage() 或

只需在测试用例之前说 (expected = java.net.ConnectException) 即可。我觉得后者不够具体。

编辑:现在,我正在使用 (expected = java.net.ConnectException) 和assertEquals(502, urlConnection.getResponseCode) 的组合。测试正在通过。

谢谢, 普拉秋莎。

最佳答案

首先,您的单元测试不应该过多依赖外部实体。您所描述的实际上是一个集成测试

在经典的单元测试中,您可以使用例如来设置此场景模拟 HttpUrlConnection。可以对其进行编程,以从所需的方法调用中抛出异常。如果您对简单地确认抛出的异常类型不满意,您始终可以在测试方法中捕获它,然后断言响应消息或您感兴趣的任何内容。

但是,从您的帖子中我不清楚您实际上在测试什么:依赖于服务器的 Web 客户端?一个网络应用程序调用另一个网络应用程序?不同的测试可能适合不同的场景。

关于java - Junit测试用例: Connection refused case,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3656640/

相关文章:

java - 递归与内存

java - Spock 断言对象列表在字段中具有精确值

Mysql Workbench 连接 ssl 未启用

python - 如何测试 python 私有(private)方法(是的,我确实有理由测试它们)

angularjs - 如何测试父元素对组件绑定(bind)的更改?

automation - ssh 到 unix 服务器的脚本

php - 在一个php文件中连接MySQL并在另一个php文件中使用它

java - MIDP 中的复杂网络 : how to close a URLConnection

java - 循环遍历正则表达式中的一组(Java)

java - 连接交易客户端和交易服务器的最佳方式