gpt4 book ai didi

ruby - 如何在测试中用模拟可执行文件替换可执行文件?

转载 作者:行者123 更新时间:2023-11-28 20:34:18 24 4
gpt4 key购买 nike

我能否将可执行文件(通过 ruby​​ 的 system 调用访问)替换为需要特定输入并在一致的时间内提供预期输出的可执行文件?我主要在 Mac OSX 10.6 (Snow Leopard) 上运行,但我也可以访问 Linux 和 Windows。我正在使用 MRI ruby​​ 1.8.7。

背景:我正在考虑进行多个 DNA 序列比对,每个线程中一个。当我为此尝试使用 BioRuby 时,BioRuby 或 ruby​​ 的标准库的临时文件 sometimes提高exceptions (这比默默失败要好!)。

我设置了一个 test重现问题,但只是在某些时候。我假设测试之间的主要差异来源是线程、临时文件系统和用于对齐的可执行文件 (ClustalW)。由于 ClustalW 可能没有发生故障,但可能是可变性的来源,我认为消除它可能有助于再现性。

对于那些思考 select isn't broken - 这也是我想知道的。然而,according to the changelog ,在 2009 年 8 月,有人担心 tempfile 的线程安全。此外,我已经检查了 BioRuby 邮件列表,是否正确调用了 BioRuby 代码,情况似乎是这样。

最佳答案

我真的不明白问题是什么或者你到底在追求什么,你就不能写点像

#!/bin/sh
#Test for input (syntax might be wrong, but you get the idea)
if [ $* ne "expected input" ]; then
echo "expected output for failure"
exit -1
fi
#have it work in a consistent amount of time
$CONSISTENT_AMOUNT_OF_TIME = 20
sleep $CONSISTENT_AMOUNT_OF_TIME
echo "expected output"

关于ruby - 如何在测试中用模拟可执行文件替换可执行文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2152166/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com