Visual StudioでXamarinを使用してアンドロイドアプリケーションを作成しました。ビジュアルスタジオにエミュレータをインストールしました。 applactionはtxtファイルを使用しています。これは先にエミュレータで作成したものです(File.WriteAllText)。問題は、単体テストを実行できないことです。 DependencyService.Getはエラーをスローします。エラー:Xamarin.Forms.Init()を呼び出さなければなりません - Visual Studio Xamarin、ユニットテストエラー
Test
Result Message: Unable to create instance of class (...). Error: System.InvalidOperationException: You MUST call Xamarin.Forms.Init(); prior to using it..
私はどこが間違っているのか、ここで何をすべきかはわかりません。
ファイルメソッドから読み込みを行うIPersistenceクラスがあります。
public interface IPersistence
{
Task<Player[,]> Load(int x);
}
私は別のクラスでアンドロイドのためにそれを実装:
public class AndroidDataAccess : IPersistence
{
public async Task<Player[,]> Load(int x)
{
/*...*/
}
}
ユニットテストコード:
using System;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using Model;
using Persistence;
using Xamarin.Forms;
namespace UnitTestProject1
{
[TestClass]
public class Test1
{
private Model _model;
private IPersistence _dataAccess = DependencyService.Get<IPersistence>(); //It throws an error.
[TestInitialize]
public void Initialize()
{
_model = new Model(_dataAccess);
_model.GameWon += new EventHandler<GameWonEventArgs>(Model_GameWon);
_model.GameOver += new EventHandler(Model_GameOver);
_model.FieldChanged += new EventHandler<FieldChangedEventArgs>(Model_FieldChanged);
_model.GuardChanged += new EventHandler<GuardChangedEventArgs>(Model_GuardChanged);
}
[TestMethod]
public void BasicTest10()
{
_model.NewGame(10);
Assert.AreEqual(4, _model.S);
}
あなたは何をテストしていますか?あなたのテストを教えてください。 – EpicSam