【发布时间】:2017-07-26 16:32:19
【问题描述】:
- 是否可以对某些东西在视觉上呈现为想要的内容进行单元测试(对于想要的某些定义)?专门针对 HTML 和 CSS 将您的页面呈现为“预期”
我个人认为这样的工具可以让您以声明性方式定义测试,了解事物的外观,然后在您的测试的实际文件上运行复杂的启发式方法,以确定它与声明性定义的“接近程度” .
- 是否有任何其他方法可以在 HTML 文件上进行机器测试,例如内容是否在视觉上一致。
我不是在问一个几乎不可能的问题,即某事物是否“看起来不错”,而是它是否看起来一致或是否符合给定的模式。
- 最后一个问题是,如果这些工具不存在,它们是否值得编写?这种性质的工具是否会真正为您提供有意义的结果,并且不受很大误差的限制。 IE。他们能否准确预测代码的某些更改是否破坏了您的视觉布局,而不会给出大量的误报或遗漏明显损坏的内容。
【问题讨论】:
-
你说:
"test in a declarative manner of how something is supposed to look"- 声明“某物应该是什么样子”被称为 HTML/CSS。任何其他方式来声明事物的外观,要么会错过 HTML/CSS 的细微差别,要么会像两者结合起来一样复杂。这种类型的工具(如你所说)是不可行的。还需要考虑不同的渲染引擎。 Gecko 和 WebKit 是开源的,所以你可以在那里使用一些东西,但是 Trident (Internet Explorer) 呢? -
@thirtydot 微软的分区让IE开源?不过我明白你的意思。我更建议对页面作为图像的外观进行一些声明性定义,然后将 HTML 转换为图像并进行比较。
标签: html css unit-testing