gpt4 book ai didi

unit-testing - 我怎样才能最好地为解析器编写单元测试用例?

转载 作者:行者123 更新时间:2023-12-04 15:28:39 24 4
gpt4 key购买 nike

我正在编写一个解析器,它为每个命令生成 32 位操作码。例如,对于以下语句:

set lcl_var = 2

我的解析器生成以下操作码:
// load immdshort 2 (loads the value 2)
0x10000010
// strlocal lclvar (lcl_var is converted to an index to identify the var)
0x01000002

请注意 lcl_var可以是任何东西,即可以给出任何变量。我该如何为此编写单元测试用例?我们可以避免对值进行硬编码吗?有没有办法让它通用?

最佳答案

这取决于您如何构建解析器。单元测试测试单个单元。

因此,如果您想将整个解析器作为一个单元进行测试,您可以给它一个命令列表并验证它生成正确的操作码(您在编写测试时手动检查)。您可以为每个命令编写测试,并测试正常使用、边缘情况使用、刚刚超出边缘情况的使用。例如,测试:

设置 lcl_var = 2

结果是:

0x10000010
0x01000002

0, -1, MAX_INT-1, MAX_INT+1, ...

您知道这些值的正确结果。不同的变量也是如此。

关于unit-testing - 我怎样才能最好地为解析器编写单元测试用例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/439474/

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