You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Apama中AUnit测试返回BLOCKED错误求助

解决AUnit测试中_csv.Error: iterator should return strings, not bytes的问题

这个错误本质是Python 2和Python 3的文件IO兼容性问题——AUnit的Pysys测试脚本大概率是基于Python 2编写的,而你的Apama环境使用的是Python 3,两者在文件读取的默认模式上存在差异:Python 2中用open('file.csv','rb')读取CSV是常规操作,但Python 3的csv模块需要接收字符串而非字节流,直接用二进制模式读取就会触发这个报错。

具体修复步骤:

  1. 定位报错的测试脚本
    从报错信息可知,问题出在C:\aunit-master\.__test\MathFloatTest\run.py的第27行,同时找到同目录下的MathIntegerTest\run.py(它会报同样的错误,需要一并修改)。

  2. 修改CSV文件的打开方式
    打开对应的run.py文件,找到读取results.csv的代码块(通常在validate方法里):

    # 原代码可能类似这样
    with open(self.output+'/results.csv', 'rb') as f:
        reader = csv.reader(f)
    

    将其修改为Python 3兼容的文本模式读取,并指定编码:

    with open(self.output+'/results.csv', 'r', encoding='utf-8') as f:
        reader = csv.reader(f)
    

    注意:如果你的CSV文件使用了其他编码(比如gbk),替换成对应的编码即可。

  3. 重新运行测试
    修改完成后,再次执行测试命令:

    c:\aunit-master\bin>aunit test Math
    

额外建议:

如果你的AUnit是比较旧的版本,建议检查官方是否有更新版本——新版本的AUnit通常已经适配了Python 3环境,能从根源避免这类兼容问题。

内容的提问来源于stack exchange,提问作者Balpreet Singh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.12 04:05:42