Lua Busted 输出乱码解决方法

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u013614126/article/details/82972245

简介

Lua Busted 单元测试框架在笔者电脑上默认输出是有乱码的,因为默认输出格式是 utfTerminal,有一些特殊字符在普通的 Windows 命令行工具中不能显示。但是它支持多种输出模式,通过指定输出类型可以解决这一问题。

解决方法

默认输出

使用命令:busted (与 busted -o utfTerminal 等效)

输出:

鈼忊椉鉁
1 success / 1 failure / 1 error / 0 pending : 0.015 seconds

Failure 鈫?spec\sample_spec.lua @ 7
basic test should throw error if assert false
spec\sample_spec.lua:8: Expected to be falsy, but value was:
(string) 'yup'

Error 鈫?spec\sample_spec.lua @ 10
basic test should load module
.\Logic/Utility.lua:328: attempt to index a nil value (global 'UnityEngine')

这是默认的输出形式,因为 windows 命令行不支持而出现乱码。

普通输出

使用命令:busted -o plainTerminal

输出:

+-*
1 success / 1 failure / 1 error / 0 pending : 0.0 seconds

Failure -> spec\sample_spec.lua @ 7
basic test should throw error if assert false
spec\sample_spec.lua:8: Expected to be falsy, but value was:
(string) 'yup'

Error -> spec\sample_spec.lua @ 10
basic test should load module
.\Logic/Utility.lua:328: attempt to index a nil value (global 'UnityEngine')

此时已经没有乱码。

TAP 风格输出

这一风格适合 CI。

使用命令:busted -o TAP

输出:

ok 1 - basic test should pass
not ok 2 - basic test should throw error if assert false
# spec\sample_spec.lua @ 7
# Failure message: spec\sample_spec.lua:8: Expected to be falsy, but value was:
# (string) 'yup'
@C:\local\LuaRocks-3.0.2\systree/share/lua/5.3/busted\outputHandlers\TAP.lua(33,1) not ok 3 - basic test should load module
@C:\local\LuaRocks-3.0.2\systree/share/lua/5.3/busted\outputHandlers\TAP.lua(34,1) # spec\sample_spec.lua @ 10
@C:\local\LuaRocks-3.0.2\systree/share/lua/5.3/busted\outputHandlers\TAP.lua(36,1) # Failure message: .\Logic/Utility.lua:328: attempt to index a nil value (global 'UnityEngine')
1..3

总结

在 Windows 下命令行使用 busted 指定输出格式可以解决乱码问题。

参考

猜你喜欢

转载自blog.csdn.net/u013614126/article/details/82972245
LUA