代码之家  ›  专栏  ›  技术社区  ›  Joe Pitz

nunit-读取和写入文件的程序集

  •  3
  • Joe Pitz  · 技术社区  · 15 年前

    我正在单元测试一个使用file.writeAllLines()和file.readAllText()读取和写入持久数据的程序集。当我使用nunit gui运行单元测试时,测试失败,出现未经授权的accessException。

    文件试图读写的路径当然会受到程序执行位置的影响。取决于我是在Visual Studio下运行nunit,还是直接从nunit/bin文件夹运行nunit,这是尝试进行读写操作的地方。

    我尝试以管理员身份运行nunit,并将所有程序集直接复制到nunit/bin文件夹,但测试仍然失败。

    我不想直接在程序集中设置路径。

    关于如何解决这个问题有什么想法吗?

    2 回复  |  直到 9 年前
        1
  •  3
  •   Jon Skeet    15 年前

    你可以使用 Path.GetTempFileName 获取要写入的临时文件。

    或者,您可以使用 Assembly.Location 找到程序集的位置,并将其用作目录。

        2
  •  2
  •   Michael Kruglos    9 年前

    使用nunit 3,您应该使用testcontext TestDirectory WorkDirectory . 也有 File Asserts Directory Asserts ,这可以帮助您以更可读的方式编写测试。