java - 使用 Junit 进行多步测试

标签 java testing junit external-tools

我正在为类开发一个简单的编译器,它从高级语言获取输入并生成在模拟器上运行的准汇编代码。我正在尝试为程序设置测试用例,将模拟器的预期输出与实际输出进行比较,但我一直遇到问题,因为在模拟器上运行代码需要两个处理阶段。在第一阶段我运行我的编译器,在第二阶段我在模拟器中运行输出代码(我通过单击此按钮在 Eclipse 中作为外部工具运行:enter image description here。我已经到了可以测试的地步JUnit 中编译器(即汇编语言)的输出,但我不确定如何采取最后一步从 JUnit 中运行模拟器。

最佳答案

您可以使用 Runtime.exec() 以编程方式运行模拟器来自测试方法的主体。

但通常您不会想求助于这样的事情。单元测试应该尝试孤立地测试一件事——在这种情况下是你的编译器。听起来您的测试用例应该包含 HLL 输入和预期的汇编输出;将模拟器排除在外。

关于java - 使用 Junit 进行多步测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32981427/

相关文章:

java - JUnit 测试 - 应该通过预期结果的测试有什么问题?

java - selenium headless chrome java忽略ssl错误

java - 控制台输入在不应该等待的时候等待

java - 在 Tomcat 中作为独立运行 Spring Hibernate 项目,在 STS IDE 中运行嵌入式 Tomcat

javascript - Jest - 测试 try/catch

macos - 如何在 Mac OS X 上本地测试 ASP 页面?

java - 如何使用 JUnit 测试我的克隆方法?

java - 查找多个列表的最大值

android - 使用 Espresso 单击主页图标

java - 与Web交互的应用程序的集成测试