3

我已经开始使用 Rider 在 Linux 中使用 C# 进行开发。我创建了我的测试,例如:

namespace RAWConverter
{

    using NUnit.Framework;

    [TestFixture]
    public class SerializationHelperTest
    {

        [Test]
        public void SerializeEntry()
        {
            msRun msRun = new msRun();
            SerializationHelper.SerializationEntry(System.IO.Path.GetTempFileName(), msRun);
        }

        [Test]
        public void DeserializationEntry()
        {
            msRun msRun = SerializationHelper.DeserializationEntry(getFileNameFromResource(RAWConverter.Properties.));
            Console.WriteLine(msRun.endTime);
        }

        private string getFileNameFromResource(String fileName)
        {
            String strAppPath = Path.GetDirectoryName(System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName);
            String strFilePath = Path.Combine(strAppPath, "resources");
            return Path.Combine(strFilePath, fileName);
        }

    }
}

我的项目中有一个名为 resources 的文件夹,其中包含该文件。但是,当我执行测试时它失败了,因为这个变量

System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName

/usr/bin

有任何想法吗?

4

1 回答 1

0

bin 文件夹是在构建项目时将项目二进制文件复制到并从中执行的默认输出目录。如果您要手动将资源文件夹及其内容复制到 bin 文件夹,则测试将起作用。

我不熟悉有问题的 IDE,但我建议检查是否存在允许在构建项目时将资源自动复制到输出目录的设置。

在他们的社区中找到评论

编辑文件属性 - 复制到输出目录

We are about to publish new EAP build in couple of days, and in that new build "Build Action" and "Copy to output directory" are drop-downs.

properrrties

For now you may press F4 on project in SolutionExplorer and edit Include manually.

于 2017-05-18T17:53:35.917 回答