java - JUnit 测试沙箱没有网络和文件访问权限?

标签 java maven junit sandbox

我可以创建一个没有文件系统和网络访问的 junit 环境吗?我想对我们的测试用例执行更严格的规则。

理想情况下,这可以使用 Maven 进行配置并适用于默认测试阶段。

最佳答案

基于这个答案https://stackoverflow.com/a/309427/116509 ,我认为您可以在测试设置上设置一个 SecurityManager 并在拆卸时恢复原始设置。

但是,恕我直言,一些单元测试应该被允许接触文件系统,例如,如果被测试的类实际上创建文件作为其契约(Contract)的一部分。 (您可以使用依赖项注入(inject)来确保在临时目录中创建文件)。同样,使用 HTTP 的类的良好单元测试应该针对 HTTP 端点进行测试。否则你最终只会 mock 一切,你的测试就变得毫无值(value)。我认为默认应该是拒绝访问,然后开发人员需要专门覆盖此类测试的权限。

关于java - JUnit 测试沙箱没有网络和文件访问权限?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10998376/

相关文章:

java - 如果插件 jar 中的不同 jar 具有相同的类名,则访问类

bash - bash脚本中的mvn if语句

java - Spring junit测试错误 "could not find current request via RequestContextHolder"

java - 模拟来自父类的方法以返回模拟数据

java - 更多线程 = 每秒请求更少?

java - 如何在内存数据库中使用带有 play java 的注入(inject)测试

java - ListView 和适配器过滤器未更新

java - 无法解析基于模块的 Maven 项目的依赖关系

java - 如何在指定最终名称时避免生成默认jar?

java - 找到相应的 junit 类的 Eclipse 函数/插件?