Skip to content
Snippets Groups Projects
Select Git revision
  • 4f7a25075df93d33cc045a12f6e4505dcc3a475a
  • main default protected
2 results

text.html

Blame
  • text.html 1.99 KiB
    <div>
      
      <p>Diese Aufgabe ist ein Beispiel für Aufgaben in der Programmiersprache C++.</p>
      
      <h3>Quelltextdateien</h3>
      <p>Als Dateiendung für C++ Quelltexte ist die Endung <tt>.cc</tt> zu verwenden.</p>
      <p>Header Dateien können beliebig hinzugefügt werden.</p>
    
      <h3>Testframework</h3>
      <p>Es wird das googletest Framework verwendet.</p>
      <p>Wenn man in seinen Quelltexten <tt>MemoryTest.h</tt> inkludiert, dann werden automatisch alle <tt>malloc</tt> und <tt>free</tt>-Aufrufe protokollietr.</p>
      
      <h3>Testdateien</h3>
      <ul>
        <li>
          <p>Für direkt ausgwertete Tests ist eine Datei nach dem Namensschema: <tt>*_test.cc</tt> zu erstellen. Es darf nur eine solche Datei geben.</p>
          <p>In dieser Datei ist das Framework zu inkludieren:
          <tt><![CDATA[#include <gtest/gtest.h>]]></tt>
          </p>
          <p>In dieser Datei sind Testfälle spezifiziert. Jeder testfile hat denselben Namen der Testsuite und einen individuellen Namen für den Test.</p>
          <p>Innerhalb der Testfunktion sind Assertions des Testframeworks zu machen.</p>
        </li>
        <li>
          <p>Für Abnahmetests ist eine Datei nach dem Namensscheme: <tt>*_test_approval.cc</tt> zu erstellen. Es darf nur eine solche Datei geben.</p>
          <p>Ansonsten gilt für Abnahmetests dasselbe wie für die direkten Tests.</p>
        </li>
      </ul>
    
      <h3>Testfälle</h3>
      <p>Ein Testfall hat einen Namen wird mit <tt>testStart("test_name");</tt> eröffnet.</p>
      <p>Dann können die Assertions kommen. Es gibt nur zwi Arten von Assertion:
      <ul>
        <li><tt>assertIntEq(char* message,int expected, int actual);</tt></li>
        <li><tt>assertTrue(char* message,bool value);</tt></li>
      </ul>
      <p>Beendet wird ein Testfall mit: <tt>testEnd();</tt></p>
    
      <h3>Bibliotheken</h3>
      <p>Zusätzliche Bibliotheken sind in der Testumgebeung bisher nicht installiert. Lediglich math wird vom Linker berücksichtigt <tt>-m</tt>.
      </p>
    
      <h3>Achtung!</h3>
      <p>Wenn das Programm crashed gibt es keine Möglichkeit irgendeinen Test auszuwerten.</p>
    </div>