在 Rider 中添加用于测试的资源文件

Adding resource file for testing in Rider

我已经开始使用 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

有什么想法吗?

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

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

在他们的社区中找到评论

Editing file properties - Copy to output directory

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.

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