是否有任何可靠的方法可以针对站点的 CSS 本身编写单元测试?

软件测试 css
2022-02-03 19:29:03
  • 这是一个可行的想法吗?
  • 你用什么工具?
  • 你把这种测试叫做什么?
4个回答

您几乎可以肯定必须在您的实际产品页面上进行测试 - 尝试“部分”测试 CSS 会错过任何有趣的级联效果,这些效果是您在整个页面上使用多个样式表获得的。当然,您还需要在您关心的所有浏览器上进行测试,因为它们都有自己的渲染特性。

找到合适的神谕来告诉您视觉效果是否正确可能很困难。对于某些东西,例如已知的颜色或属性值,您可以检查 HTML 属性。

您可以针对已知良好的页面图像进行手动或自动页面比较。

您可以对重叠或截断的元素进行一些自动检查 - 我不确定是否有任何测试工具包可以做到这一点。

  1. 验证CSS。(http://jigsaw.w3.org/css-validator/)

  2. 将真实浏览器的渲染结果与预期结果进行比较。(这里有一些胡扯的余地,因为在某些浏览器中可能会降低用户体验。)

  3. 验证真实 Web 浏览器中的所有预期行为除了 JavaScript 之外,行为还来自 CSS 伪类。

如果您正在寻找专为回归测试构建的工具,请查看:

https://github.com/bfirsh/needle

它基本上会截取您选择的部分(查看他们的示例)并进行比较。如果它们彼此相差太大,则测试将失败。

我用来测试关于 CSS 的跨浏览器兼容性的一个简单应用程序是 Adob​​e Browser Lab,它可以让您比较来自不同操作系统的不同浏览器中的渲染(您会惊讶地看到页面上存在的一些微小差异)。关于跨浏览器兼容性的主题,请阅读此页面,因为它提供了一些更有用工具的描述和链接。