2 Stimmen

Gibt es in Visual Studio eine Möglichkeit, eindeutige Methodennamen automatisch zu generieren?

Ich schreibe gerade eine Reihe von Tests für einen Kurs, und ehrlich gesagt möchte ich mir nicht die Mühe machen, jeden Test intelligent zu benennen: "Compare2002to2002forLessThanOrEqual"

Ich habe kein Problem mit TestMethod1 bis TestMethod120 - aber ich muss jeden Namen bearbeiten, und das wird lästig. Gibt es ein Plugin, das eindeutige Namen für alle Methoden in einer Klasse generiert, die mit dem Attribut [TestMethod] gekennzeichnet sind?

4voto

teabot Punkte 15048

Wenn Sie verschiedene Testmethoden von Grund auf neu schreiben, sollte die Benennung der Methode keinen großen Aufwand bedeuten. Dies deutet darauf hin, dass Sie die Testmethode kopieren und einfügen und dabei einige Werte ändern und vielleicht gegen die DRY-Prinzip . Wenn dies der Fall ist, wäre es dann nicht besser, die Tests mit einer Abstraktion zu refaktorisieren, so dass Sie weniger Methoden haben (vielleicht sogar nur eine), und dann eine Reihe von Testbedingungen bereitzustellen, über die die Methode iterieren könnte?

Dies hat den Vorteil, dass Sie bei einer Änderung der Schnittstelle oder der Funktionalität des zu testenden Moduls nur eine einzige Testmethode statt vieler ändern müssen.

0voto

JaredPar Punkte 699699

Es ist nicht ganz klar, welche Funktion Sie hier wünschen. Wie stellen Sie sich vor, dass dieser Name generiert wird? Möchten Sie, dass der Editor einen Methodennamen ausspuckt, sobald Sie [TestMethod] eingeben?

Wenn ja, gibt es eine solche Funktion in Visual Studio heute nicht.

0voto

jrummell Punkte 41902

Sie könnten eine Codeschnipsel die den größten Teil des Namens ausfüllt. Etwa so:

<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/CodeSnippet">
  <CodeSnippet Format="1.0.0">
    <Header>
      <Title></Title>
      <Description></Description>
      <Author></Author>
      <Shortcut>test</Shortcut>
    </Header>
    <Snippet>
      <!-- Add additional Snippet information here -->
      <Declarations>
        <Literal>
          <ID>val</ID>
          <ToolTip></ToolTip>
          <Default>val</Default>
        </Literal>
        <Literal>
          <ID>condition</ID>
          <ToolTip></ToolTip>
          <Default>condition</Default>
        </Literal>
      </Declarations>
      <Code Language="CSharp">
        <![CDATA[ [TestMethod] public string Compare$val$to$val$for$condition$
                    {

                    } ]]>
      </Code>
    </Snippet>
  </CodeSnippet>
</CodeSnippets>

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X