我已经开始使用一种语言的产品的自动化,并且很快就会被移植到另一种语言中。唯一的好处是——测试自动化才刚刚开始。
所以有两件事让我担心 - 测试脚本和测试数据中的硬编码字符串(应用程序标题、警报消息等),应根据区域设置键入。
我正在考虑使用一个全局变量来指示要执行测试的语言环境,然后决定要在测试方法中使用的字符串/测试数据。
现在考虑我将测试中的字符串外部化,然后决定在我的测试方法中使用哪种语言的字符串,所以我可以做类似的事情 -
public void myAweSomeMethodWorkingInAllLocales() {
if(locale is fr) {
testDataFile=privateLocation/frTestDataForThisLocale
testStringFile=privateLocation/frAPPStringForThisLocale
} else if (locale is in) {
testDataFile=privateLocation/inTestDataForThisLocale
testStringFile=privateLocation/inAPPStringForThisLocale
}
//Carry Out my Super tests here
}
但是我发现在我的每种测试方法中都这样做有点麻烦。我可以改进它吗?