2017-08-30 2 views
0

Ich habe UITest für die Android-Version einer App implementiert und ich versuche nun, den UI-Tests-Code so anzupassen, dass er sowohl für iOS als auch für Android funktioniert.Xamarin UiTest machen einige Tests nur ausführbar auf Android oder iOS?

Die Sache ist, dass es wirklich spezifische Funktionen gibt, die ich für Android-Tests erstellt habe, und sie können nicht für iOS verwendet werden, da die Ansichten nicht auf die gleiche Weise erstellt werden.

Hier sind meine Fragen:

-Ist es möglich, bestimmte Testfunktion ausführbar nur auf iOS oder Android (nur eine, nicht beide), aber innerhalb der gleichen Test.cs Datei zu machen?

-Was ist die konventionellste und sauberste Art der Organisation von Ui Tests für Android oder iOS?

  1. selben Projekt und dieselben Dateien sowohl für Plattform („mySolution.UiTests“ -Projekt und „Testfile.cs“)
  2. gleiche Projekt verschiedene Dateien für jede Plattform („mySolution.UiTests“ Projekt und „TestfileAndroid. cs“+ "TestfileiOS.cs")
  3. Verschiedene Projekte für jede Plattform ("mySolution.iOS.UiTests" und "mySolution.Droid.Uitests")

Antwort

0

ich Sie auf die erste Frage eine Antwort geben :

Sie können Test Fixtures mit einem Platform attributle wie folgt markieren: [TestFixture (Platform.Android)] auf Android ausgeführt werden und [TestFixture (Platform.iOS)] auf ios ausgeführt werden.

Stellen Sie beide Attribute oberhalb der Klasse bereit, um eine Testklasse auf beiden Plattformen ausführbar zu machen. Ich weiß nicht, ob es auch für einzelne Tests möglich ist, da ich es momentan nur für ganze Klassen benötige.

So ist die useage wie diese

[TestFixture(Platform.Android)] 
[TestFixture(Platform.iOS)] 
public class FooTests 
{ ... } 

BR könnte Hubertus

Verwandte Themen