首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在PlatformIO测试中查看终端中的cout

在PlatformIO测试中查看终端中的cout
EN

Stack Overflow用户
提问于 2022-05-28 09:23:05
回答 1查看 83关注 0票数 1

我是C++的新手,正在用PlatformIO & VS代码在MacOS 11.6.5上为Arduino开发。

PlatformIO文档之后,我设置了这样一个简单的测试:

代码语言:javascript
复制
#include <unity.h>
#include <iostream>

void test_something()
{
    std::cout << "Test running..." << std::endl;
    TEST_ASSERT_TRUE(true);
}

int main(int argc, char **argv)
{
    UNITY_BEGIN();
    RUN_TEST(test_something);
    UNITY_END();
}

当我运行platformio test --environment local时,我在终端中看到测试结果,但没有看到std::cout的输出。

(我在不使用PlatformIO的时候发现了一个PlatformIO的例子,PlatformIO回购有大量的测试实例,但这些都不涉及cout。)

另外,VS代码IntelliSense抱怨‘不能开放源代码文件“”iostream“,但我猜这是无关的,因为PlatformIO似乎没有编译它的问题。

任何指导者都会感激的!

EN

回答 1

Stack Overflow用户

发布于 2022-05-28 18:48:57

好的,由于@Ulrich Eckhardt的帮助,我只需要为Unity指定--verbose模式,即:

代码语言:javascript
复制
platformio test --environment local --verbose

然后有很多方法可以写到终端:

代码语言:javascript
复制
cout << "Hello" << endl;
cout << "Hello\n";
fprintf(stdout, "Hello");
putchar('a');

还有一些统一打印方法,不确定这些方法的优缺点:

代码语言:javascript
复制
UnityPrint("Hello");
UnityPrintLen("Print this, but not this", 10);
UNITY_OUTPUT_CHAR('a');
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72414432

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档