如何自动化SSAS的MDX测试

ste*_*bot 1 sql testing ssas mdx visual-studio

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

有没有办法我可以用Visual Studio挂钩这些查询来获得这种行为?

Pio*_*raj 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();
    }
}
Run Code Online (Sandbox Code Playgroud)

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

您可以从"测试列表编辑器"窗口运行此测试 测试列表编辑器窗口 然后在"测试结果"窗口中,您有结果和指标 测试结果窗口

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