运行网络测试的方法
Approach to run network tests
我在Linux上有一个C++项目,它实现了网络应用程序。我在不同的计算机上通过 CLI 手动运行我的测试,测试相互连接并发送数据。测试完成后,它们会打印一些统计信息。
我想自动化我的测试,我需要一个脚本或框架,可以在不同的计算机上远程运行我的测试,可以控制它,并可以收集测试输出。
是否有一个测试框架可以满足我需要的,或者我应该通过Perl或Shell实现它,或者......?
由于这个问题没有答案,我现在使用 bash 脚本通过 ssh 远程运行我的测试。它看起来类似于
remote_wait()
{
host=$1
shift
ssh $host "for pid in "$@"; do while kill -0 $pid; do sleep 1; done; done"
}
run_remote()
{
host=$1
shift
app=$1
shift
scp $app $host:/tmp/test_receiver 1>&2 || exit 1
ssh ${host} "{ $remote_app $@ >$app_log 2>&1 & }; echo $! "
}
echo Starting receiver...
receiver_pid=`run_remote $userhost $1`
echo Starting sender...
./sender &
sender_pid=$!
wait $sender_pid
remote_wait $userhost $receiver_pid
相关文章:
- 有什么好的方法可以让系统调用代理允许在单元测试中进行模拟
- 有没有一种优雅而快速的方法来测试整数中的 1 位是否位于连续区域
- 谷歌测试方法与流
- googletest:测试基类具有纯虚拟方法的派生类时的核心转储
- 在 gtests 中测试C++全局变量的最佳方法
- std::is_invocable 用于测试任意方法是否存在的语法(不仅是运算符())
- C++ 谷歌模拟/单元测试:模拟方法未调用,原始方法是
- 更好的单元测试方法,花费的时间太长
- 多个 if-else 测试的更简单方法
- 生成用于测试的随机结构的通用方法
- cppUnit:针对多个测试方法执行一次的设置函数
- 有什么方法可以从Visual Studio 2017中的Catch C++测试中获取代码覆盖率指标?
- 如何测试基类中的方法是否已使用谷歌模拟调用和执行?
- 模板或链接接缝依赖注入有哪些替代方案来测试非虚拟方法?
- 单位测试私人方法通过使其自由功能
- 使用 CLion 在不同文件中分离 Boost 测试套件的正确方法
- 如何每次使用不同的参数多次测试方法
- 如何实例化多个 set 对象来测试 Set 类的各种构造函数和方法
- 使用Google Test API进行C 测试私人方法的可能方法是什么?
- 测试用户输入数组中的重复项的最有效方法是什么?