2017-04-24 86 views
1

我目前正在研究能够运行单元测试的嵌入式设备,这要归功于Unity框架。我使用JLINK和SEGGER_RTT将这些测试的输出发送到我的电脑中。问题是,我如何从统一输出做出一个网络报告?嵌入式系统到网络输出的统一测试

我发现的最好的领导是将Unity内容转换为JUnit,以便有更多的库可以使用。问题是,我没有找到使用此JUnit的最佳方法。这个想法是几乎没有任何安装,能够在新计算机上运行测试,并具有符合人体工程学的/现代的Web UI来快速处理单元测试。我找到的最好的图书馆是Allure(https://github.com/allure-framework/allure2),但我想知道这是否是最好的方法(很多事情要安装,并且在我有任何事情之前做)。

+0

只是出于好奇:什么是嵌入式设备上运行单元测试的意义呢?这样做的好处是什么?你在这里谈论某种集成测试吗? – GhostCat

+0

@GhostCat运行测试通常被认为是最有价值的,当在生产中执行程序的环境中完成时, – Toby

+0

allure 2支持JUnit.xml测试格式。只需下载allure2 beta8 https://bintray.com/qameta/generic/allure2并运行'$ allure serve --profile junit junit-output /' –

回答

1

托马斯,你看过Ceedling(来自Unity的同一个人)?检查插件https://github.com/ThrowTheSwitch/Ceedling/tree/master/plugins其中一些允许调整测试ouptut的格式。

基本上Ceedling提供了Ruby构建系统的统一,有很多像模拟生成和插件结构附加功能 - 你只需要使用你想虽然

一个插件的位,gcov的,也生成测试覆盖信息,这ceedling也可以用它来生成一个HTML测试覆盖率报告类似下面

enter image description here

+0

感谢您的回复。我试图与Ceedling一起工作,但由于配置文件有点复杂,我目前还没有设法进一步。稍后我会看看您的解决方案,因为它对于自动解决方案似乎更好。 –

+0

当我开始使用Ruby和YAML时,我想也是这样,但是一旦我花了一点时间来掌握它,我发现它值得投资。另外,如果您遇到问题,Mike和其他人非常善于处理发布在相关Github存储库上的问题:-) – Toby