UWPで実行するためにいくつかのユニットテストをセットアップする必要があります。単体テストはディスク上のファイルで動作します。ファイルの場所はフルパス(C:\ Temp \など)として設定されています。UWPユニットテストでのファイル処理
Visual Studio 2015でユニットテストアプリケーションを作成しました。アプリケーションマニフェストで、インターネット(クライアント)、プライベートネットワーク、およびリムーバブルストレージを確認しました。また、私のファイルタイプ(.dat)のファイルアソシエーションをセットアップしました。
テストを実行すると、テストでディスク上のファイルを開こうとするとアクセス拒否例外が発生します。ファイルはFileStreamクラスを使用して開きます。
例外メッセージ:テストメソッドUnitTests.TestMethod1例外をスロー: System.UnauthorizedAccessException: 'C:\ Temp \ file.dat'へのアクセスが拒否されました。
ディスク上の任意のファイルを開くことができるようにテストアプリケーションを設定するにはどうすればよいですか?更新
:さらなる研究の後、私は、UWP(テスト)アプリケーションからディスク上のプログラムで任意のファイルを開くことはできませんあなたを信じて、このとき
public class UnitTest1
{
[TestMethod]
public void TestMethod1()
{
// 1. Open the file using a FileStream
FileStream fs = new FileStream("C:\\Temp\\file.dat", FileMode.Open, FileAccess.Read, FileShare.Read);
// or
// 2. Open the file using UWP file API
Task<Stream> ts = GetStream();
Stream s = ts.Result;
}
async private Task<Stream> GetStream()
{
Windows.Storage.StorageFile sf = await Windows.Storage.StorageFile.GetFileFromPathAsync("C:\\Temp\\file.dat");
Stream s = await sf.OpenStreamForReadAsync();
return s;
}
}
: これはサンプルのテストですファイル選択ツールを使用してファイルを選択して開く必要があります。
ファイルアクセスを抽象化して単体テストのために試してみることができます – Nkosi
ファイルにアクセスしようとする方法の[mcve]を表示 – Nkosi
ディスクにヒットしたユニットテストが悪い(遅い、アクセスの問題、失敗別のOSで)。コードとテストを表示すると、ディスクにヒットしない方法を示すことができます。 – zhon