如何将LeadTools引用到单元测试项目?

时间:2013-06-25 10:59:47

标签: unit-testing visual-studio-2012 file-conversion leadtools-sdk

评估Document Imaging SDK,我正在尝试在Visual Studio 2012中创建一个单元测试项目来检查一些代码片段。我在安装目录' C:\ LEADTOOLS 18 \ Bin \ Dotnet4 \ Win32 '中引用了LeadTools dll,并将我的测试项目输出目录指向同一目录(在我的输出旁边包含所有LeadTools二进制文件) )。但是运行单元测试我得到以下的执行:

  

测试方法   LeadTools.Evaluation.UnitTests.Snippets.PdfToTiffTest.PdfToTiffTest   引发异常:Leadtools.RasterException:Raster PDF Engine是   需要使用此功能

我怀疑问题是由VSTest进程在'C:\ LEADTOOLS 18 \ Bin \ Dotnet4 \ Win32'之外运行引起的,并且可以'找到必要的LeadTools二进制文件。

问题:将LeadTools二进制文件重新添加到测试项目的正确方法是什么?

单元测试代码:

using System.IO;
using Leadtools;
using Leadtools.Codecs;
using Leadtools.Pdf;
using Microsoft.VisualStudio.TestTools.UnitTesting;

namespace LeadTools.Evaluation.UnitTests.Snippets
{
    [TestClass]
    public class PdfToTiffTest
    {
        [TestMethod]
        public void PdfToTiffTest()
        {
            const string pdfPath = "C:\Samples\source.pdf";
            var tiffPath = Path.ChangeExtension(pdfPath, "tiff");

            // Load the input PDF document
            var document = new PDFDocument(pdfPath);
            using (var codecs = new RasterCodecs())
            {
                // Loop through all the pages in the document
                for (var page = 1; page <= document.Pages.Count; page++)
                {
                    // Render the page into a raster image
                    using (var image = document.GetPageImage(codecs, page))
                    {
                        // Append to (or create if it does not exist) a TIFF file
                        codecs.Save(image, tiffPath, RasterImageFormat.TifJpeg, 24, 1, 1, -1, CodecsSavePageMode.Append);
                    }
                }
            }
        }
    }
}

1 个答案:

答案 0 :(得分:1)

在VS 2010中,可以在“测试设置”中指定解析组件的位置。要在VS 2012中执行此操作,您可以在App.config中执行此操作,如Visual Studio Test Team在此文章Assembly Resolution for Unit Tests中所述。

只需将app.config添加到您的测试项目中,然后放置相应的&lt; AssemblyResolution &gt;的信息。

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configSections>
    <section name="TestExecution" type="Microsoft.VisualStudio.TestTools.Execution.TestExecutionSection, Microsoft.VisualStudio.QualityTools.ExecutionCommon, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
  </configSections>
  <TestExecution xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010">
    <AssemblyResolution>
      <RuntimeResolution>
        <Directory path="%ProgramFiles%\SampleApplication\" includeSubDirectories="true"/>
      </RuntimeResolution>
    </AssemblyResolution>
  </TestExecution>
</configuration>