你可能觉得折腾这么一套东西动作也挺大的。我得说,“看菜吃饭”。
另一个例子,有一个测试框架,万事俱备,就是没法把test case自动传送到Apple Macintosh的机器上。现有的代码可以让test case在Apple Macintosh上执行,也可以把test case从服务器下载到Windows测试机器上发动执行,但是没法跟Apple Macintosh交流。
怎么办?在Apple上开发谁都不懂。在Apple Macintosh上写一个客户端跟服务器交流,够忙半天的了。面对一整套已经完备的测试框架,让它尽快用于新的环境,比做什么都重要。
别人告诉我,可以Apple Macintosh上开一个共享夹,然后Windows的机器可以用UNC路径往里面读写文件。
OK,这就足够了。Windows测试机器上发动执行的只是一个脚本,把需要用到的文件往指定Apple机器的共享文件夹上写。写完之后再写一个文件,名字是约定好的,例如“ready”,里面包含启动test case的命令行。然后不停的隔一段时间检查共享文件夹里面一个叫做例如“done”的文件,出现之后把它作为结果返回服务器,最后把它和其它文件都删掉,退出。
Apple Macintosh上面则运行另一个脚本,始终不退出。它不停的隔一段时间检查其指定的共享文件夹里面一个叫做“ready”的文件,出现之后执行里面的命令并且等待它结束。这个命令必须生成一个叫做“done”的文件,包含执行结果。然后,不停的隔一段时间检查“done”是不是还在,不在了就回到最初的检查“ready”的代码。
这就足够了。两个脚本加起来50行不到。