使用 rspec 测试 Morris.js 个图表
Testing Morris.js graphs with rspec
我在 rails 上的 ruby 中使用 Morris.js 图表,发现它非常有用。但是,我不确定如何使用水豚 rspec 中的功能规范来测试图表。至少我想测试以下
- 图表显示在页面上
- 正确的图表类型,例如折线图
- 正在绘制一些数据,例如检查图中有两条线。
你是怎么做到的?
我现在可以回答问题的前两部分了。如果图表有效,javascript 代码会在页面中插入一个 html svg 元素。因此,使用带有 js: true
的功能规范,您可以使用以下方法进行测试:
page.should have_css 'svg'
如果您在同一页面上有不同的图表,您可以将每个图表包装在 div
中并使用类似的东西进行测试:
within :css, 'div#first_chart' do
page.should have_css 'svg'
end
这并不能准确地告诉您那里有正确类型的莫里斯图,但对于大多数用途来说应该足够了。
我仍然不知道如何检查更详细的功能,例如图表上出现的线条数。
我在 rails 上的 ruby 中使用 Morris.js 图表,发现它非常有用。但是,我不确定如何使用水豚 rspec 中的功能规范来测试图表。至少我想测试以下
- 图表显示在页面上
- 正确的图表类型,例如折线图
- 正在绘制一些数据,例如检查图中有两条线。
你是怎么做到的?
我现在可以回答问题的前两部分了。如果图表有效,javascript 代码会在页面中插入一个 html svg 元素。因此,使用带有 js: true
的功能规范,您可以使用以下方法进行测试:
page.should have_css 'svg'
如果您在同一页面上有不同的图表,您可以将每个图表包装在 div
中并使用类似的东西进行测试:
within :css, 'div#first_chart' do
page.should have_css 'svg'
end
这并不能准确地告诉您那里有正确类型的莫里斯图,但对于大多数用途来说应该足够了。
我仍然不知道如何检查更详细的功能,例如图表上出现的线条数。