2012-11-13 45 views
4

我想摆脱这个代码中的一些重复。遵循DRY原则。
如您所见,文件/ deploymentItem的名称会重复。如何获取DeploymentItem的名称?

[TestMethod] 
[DeploymentItem("TestData/TestExcel.xlsx")]  <-- 
public void GivenAnExcel_ConverToPDF() 
{ 
    const string filename = "TestData/TestExcel.xlsx";  <-- 
    var result = pdfConverter.ConvertExcelDocument(filename); 
    AssertIsPdf(result); 
} 
  • 有没有以编程方式访问DeploymentItem不使用文件名的方法吗?
  • 可以通过编程方式获得文件名吗?

不,我不能用另一个测试框架比MSTEST ;-)

+1

感谢您对这个问题@Peter!我有同样的愿望(摆脱这些重复),但我确定没有任何方法:-) 属性中的常量... *谢谢* @Schaliasos! – Elena

回答

4

你可以简单地这样做:

[TestClass] 
public class Test 
{ 
    const string filename = "TestData/TestExcel.xlsx"; 

    [TestMethod] 
    [DeploymentItem(filename)] 
    public void GivenAnExcel_ConverToPDF() 
    { 
     var result = pdfConverter.ConvertExcelDocument(filename); 
     AssertIsPdf(result); 
    } 
} 
+0

哈哈!奇怪,我没有意识到这一点...属性中的常量...感谢! –

+0

欢迎您;) – Schaliasos