2013-08-14 7 views
8

Ich versuche Visual Studio Unit Test Generation Feature zu verwenden. Das erste, was ich fand, war this extension, aber aus irgendeinem Grund funktioniert es nicht - auch nach dem Neustart, obwohl ich überprüfen kann, ob die Erweiterung installiert ist, wird "Generate Unit Test" nicht im Kontextmenü angezeigt, wenn ich mit der rechten Maustaste klicke innerhalb einer Methode.Visual Studio 2012 Komponententest: Controller muss testable -Elementeigenschaft eingerichtet haben

Das nächste, was ich ausprobiert habe, war ein Workaround, den ich in einer der Kritiken gefunden habe - anscheinend existiert das ursprüngliche Feature immer noch, nur vergraben. Die Abhilfe ist:

  • Tools-> Optionen
  • Umfeld-> Tastatur
  • anzeigen Befehlen 'Einheit'
  • eine Verknüpfung anhängen zu "EditorContextMenus.CodeWindow.CreateUnitTests".

Aber das hat auch nicht funktioniert - so wie in, scheint nichts zu passieren. Es gibt zwei andere Befehle, die relevant sein können - EditorContextMenus.CodeWindow.GenerateUnitTests und Project.AddUnitTest. Keiner von denen funktioniert auch - letzterer macht einfach nichts, der erstere gibt mir den Fehler "Controller muss testbare Element-Eigenschaft eingerichtet haben".

Also ... ich bin mir nicht sicher, was ich sonst noch versuchen sollte.

Antwort

9

Ich habe ein gleiches Problem, und hier ist Grund, warum der Fehler aufgetreten ist.

In der Dokumentation des Code-Generators, der Arthor erfüllt eine sehr wichtige Voraussetzung.

In der endgültigen Version benötigen wir eine öffentliche Klasse und mindestens eine öffentliche Methode, bevor die Funktion Einheitentest generieren aufleuchtet.

http://blogs.msdn.com/b/willy-peter_schaub/archive/2013/07/19/exploring-the-unit-test-generator-vs-extension-v1-rc.aspx

Aus dem Artikel, habe ich festgestellt, dass es zwei Anforderungen der Codegenerator arbeitet machen ist.

  1. Die Klasse muss öffentliche
  2. Mindestens eine öffentliche Methode in der Klasse seine

Sie können versuchen, die Access-Modifikatoren öffentlichen zu machen, das Problem

+1

Ich bin mit dem gleichen Problem konfrontiert. Der Klassen- und Methodenzugriff ist öffentlich, aber ich stehe immer noch vor dem Problem. – Shimmy

+0

Können Sie mir den Code zeigen? Es sollte die korrekte Benutzeroberfläche zeigen, sobald Klasse und Methode öffentlich sind. –

1

zu lösen Scheinbar funktioniert die Erweiterung nicht für Strukturen, fand ich heute heraus - egal, was Sie tun, Sie bekommen den Fehler "Controller muss testbare Elementeigenschaften eingerichtet haben".

+0

Das war auch mein Problem – redwyre