如何在SSRS中自动测试报告

时间:2009-04-13 13:59:27

标签: sql-server unit-testing reporting-services report

我当前的项目使用SSRS作为报告引擎。我让报告执行一个文本命令,传递了大约10个变量。我一直在寻找一个关于如何对SSRS报告项目进行单元测试(接受或集成,无论是什么,只是一些自动化)的解决方案。

我考虑过使用这种方法:

  1. 将SQL文本命令移动到存储过程
  2. 创建Reports.Tests项目
  3. 创建project_tests数据库并将连接字符串指向此数据库
  4. 设置我的单元测试< Setup>我将在测试中返回的数据
  5. 使用传递的参数创建测试并测试结果集
  6. 我想确保我没有遗漏任何明显的东西。

    其他程序员如何自动测试报告?关于如何改进这种方法的任何建议?

    编辑:我应该澄清一下,我只想测试结果集而不是报告的格式。

7 个答案:

答案 0 :(得分:2)

使用您最喜欢的单元测试框架,使用 watin selenium rc 进行验收/冒烟测试。

答案 1 :(得分:1)

我在CodePlex上看到Reporting Services Unit Testing Framwork 可能很有用,虽然我没有机会对其进行评估。

答案 2 :(得分:1)

不知道这是否为时已晚 - 但我已查看以下网站的测试产品:http://www.asyncsoftware.co.uk/ReportTestGenerator.html

根据您创建的断言生成(MSTest或NUnit)单元测试可能会有所帮助。

答案 3 :(得分:0)

那只会测试数据库'API',它不会考虑你可能在报告中使用的任何功能(过滤,排序,聚合等)。

我唯一能建议的是找到一个可以比较XML的工具,只需让报表服务器发送报告的XML版本。

http://reportserver/ReportServer?/directory/Report1&rs:Format=XML&rs:Command=Render

必须有一个可以做到这一点的工具

不确定这是否有能力: http://www.soapui.org/

答案 4 :(得分:0)

Selenium对我来说是一个很棒的工具。 Selenium应该允许您从Web浏览用户的角度验证报告中的大多数功能是否正常工作。

将测试数据库与生产分开将有助于在您的环境中保持清洁,但不会影响测试的质量。

答案 5 :(得分:0)

所以你基本上想要测试SP呢?

http://tsqlunit.sourceforge.net/

或数据库专业人员的VSTS

http://msdn.microsoft.com/en-us/library/bb381703(VS.80).aspx

答案 6 :(得分:0)

单元测试SSRS似乎没有很多解决方案。我发现this blog中的提示很有帮助。

此外,如果您对要提供帮助的工具感兴趣,请参阅:Innosphere's SSRS Unit Testing Suite。他们使用的方法与博客中描述的方法非常相似,即将SSRS报告导出为XML,并使用XML来断言。

希望其中一些有用。