如何自动化SSAS的MDX测试

时间:2012-08-22 16:58:48

标签: sql visual-studio testing ssas mdx

我开发了一些用于测试SSAS多维数据集的MDX查询。我想自动执行这些查询,这样我只需单击一个按钮就可以执行所有这些查询,理想情况下是基于输出的绿色条/红色条。

有没有办法可以将这些查询与Visual Studio挂钩以获得此行为?

2 个答案:

答案 0 :(得分:6)

您可以在此处尝试任何单元测试框架。虽然单元测试并非用于此类用途,但它们在那里非常有用 - 测试跑步者可以开箱即用红色/绿色指示灯。

使用ADOMD.NET(http://j.mp/NtKFih)执行mdx的写测试和执行期间的异常将无法测试。您还可以使用CellSet对象调查结果,并确定测试是否已通过。

使用Microsoft的单元测试框架的简单示例(需要引用System.Data.dll和Microsoft.AnalysisServices.AdomdClient.dll):

using Microsoft.AnalysisServices.AdomdClient;
...
[TestMethod]
public void CubeHealthCheck1()
{
    using (AdomdConnection conn = new AdomdConnection("Data Source=localhost;
           Initial Catalog=SejmCube")) //your connection string here
    {
        conn.Open();
        AdomdCommand cmd = conn.CreateCommand();
        //your mdx here
        cmd.CommandText = "SELECT NON EMPTY { [Measures].[Glosow Przeciwko] } 
                           ON COLUMNS FROM [Sejm]";
        CellSet cs = cmd.ExecuteCellSet();
    }
}

任何异常都将失败测试(例如没有连接) - 您可以添加try / catch并在消息中通知出现了什么问题。

您可以从“测试列表编辑器”窗口运行此测试 Test List Editor window 然后在“测试结果”窗口中,您有结果和指标 Test Results window

如果您不想使用单元测试框架,可以开发内部具有类似逻辑的自定义visual studio扩展(http://j.mp/QfMNQt)。

答案 1 :(得分:2)

您应该检查Nbi。此框架允许您检查多维数据集的结构和成员,还可以将查询,mdx或sql,结果与预定义或动态结果进行比较。对于开源项目而言,该文档相对详尽。

与其他解决方案相比,您不需要使用C#编写代码,只需一个描述测试的Xml文件即可。