【发布时间】:2015-03-19 09:44:30
【问题描述】:
我有一个 Polymer Dart 应用程序,在其开发过程中,它经历了以下两个阶段:
第 1 阶段:它可以工作(功能完整且构建正常),但没有自动测试。 (因此,为了保证它的行为与预期的行为一样,我必须手动单击某个按钮,在某些输入字段中输入一些文本,才能看到它的行为是否正确。)
第 2 阶段:我在应用程序中添加了一些测试代码,使用 unittest 包测试应用程序是否正常工作。该测试针对未编译的 dart 代码,在 Dartium 中运行,在 pub build 之前。然后我添加了一个转换器,lib/transformer.dart,这样,当pub build 时,我的转换器将删除应用程序中所有与测试相关的代码,因此 Polymer、dart2js 和其他转换器将看到它们在阶段 1 中看到的完全相同的代码,除了第一阶段,没有lib/transformer.dart。
我的问题是:
A. (对于第一阶段)我应该担心 dart 版本和编译的 js 版本之间的一致性吗?即,我可以安全地假设,如果我的代码在 dart 版本中正常工作,它在 js 版本中也能正常工作吗?
B.假设我的转换器完全按照它应该做的,即删除所有新添加的,测试相关代码,(当然除了转换器本身),还假设我的应用程序的 js 版本已经在阶段 1 中正常工作,请问stage 2的js版本也能正常工作吗?
注意:为什么我在 dart 版本而不是 js 版本中运行测试?因为在js版本中不引入测试代码我不知道怎么做,即我不希望js版本包含测试代码。
谢谢。
【问题讨论】:
标签: unit-testing dart dart-polymer