白盒与黑盒测试
在Go中选择测试的包命名策略时,必须考虑你喜欢白盒还是黑盒测试。
白盒测试涉及测试函数或方法的内部实现,而黑盒测试将函数或方法视为黑盒并专注于测试外部行为。
包命名策略
你提到的三种包命名策略根据测试代码是否与被测代码在同一个包中而有所不同:
策略一:测试代码和被测代码位于同一个包中(例如,包 myfunc 为
策略 2: 测试代码和被测代码位于不同的包中(例如,被测代码为 myfunc 包,测试代码为 myfunc_test 包)。
策略 3: 策略 2 的变体,使用点表示法导入(例如,导入 . "myfunc").
优点和缺点
策略 1(白盒测试):
策略 2(黑盒测试):
策略 3(使用点导入进行黑盒测试):
建议
在选择策略之前,请考虑您的测试需求和测试所需的粒度。对于黑盒测试,建议使用策略 2 或 3。对于白盒测试,建议使用策略 1。您还可以在项目中结合策略来满足不同的测试要求。
以上是我应该如何命名白盒测试和黑盒测试的 Go 测试包?的详细内容。更多信息请关注PHP中文网其他相关文章!