unit-testing - 使用单元测试读取然后删除 xml 文件的最佳方法

标签 unit-testing tomcat grails

我创建了一个单元测试,我在其中动态创建然后解析 xml。当我完成文件时,我将其删除。我暂时将文件存储在我的项目中创建的资源文件夹中,但我想知道如果我部署到 tomcat 服务器,这仍然会通过。我现在正在使用 getRealPath () 并且它有效。我以后绝对不需要这些文件,这就是我删除它们的原因。

我读过 getRealPath () 不可移植,不应该真正使用,但这就是为什么我要问我的目的,可以吗?

我不能发布代码,因为我在工作,但我会尝试解释一下:

我使用 ServletContextHolder.servletcontext.getRealPath () 并在末尾添加资源/测试文件..这将我带到我的项目路径 (project/out/test/resources/testfiles)

我使用 stringwriter、filewriter、markupbuilder 创建一个 xml 文件..

我保存这个文件,读取它并在测试后删除它。它可以在 Windows 上运行,但我需要知道它是否可以在 tomcat 上运行,如果它被部署并且单元测试自动运行......它是否能够做这一切..

抱歉格式不佳,我的手机不是写这篇文章的最佳方式

最佳答案

理想的解决方案是根本不使用文件。但这实际上取决于您的 XML 解析器用于其输入的类。例如,如果解析器接受 InputStream , 你可以使用 StringBufferInputStream构建您的 XML 内容。然后解析器就可以像使用文件一样使用该流。 OOP 接口(interface)真是太棒了:)

关于unit-testing - 使用单元测试读取然后删除 xml 文件的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32055454/

相关文章:

c# - Visual Studio Selenium 测试启动本地项目

java - 使用相同的端点接口(interface)发布多个 Jax-WS web 服务实现

java - 如何将随机查询参数添加到操作的成功响应中

grails - 为什么在NetBeans IDE 8.0.2中创建后看不到grails应用程序

grails - <g:select>标记中的createLink表达式

unit-testing - 如何在 UnitTesting Laravel 4 上模拟 App::make()

c# - 单元测试 XML 生成

c# - Rhino Mocks,设置 stub 属性后如何执行操作

java - 当我运行超过 1 个几乎完全相同的 java servlet 时,为什么我的服务器会崩溃?

internet-explorer - grails必需的标记在IE8上不起作用