Wir haben bei unserem letzten Integrationstest viel Zeit mit einem Fehler verschwendet, der meiner Meinung nach beim Testen von Einheiten hätte gefunden werden müssen. Das Problem war, dass sich eine Schnittstelle / ein Dienst, die wir anriefen, anders verhielt als erwartet, und der Unit-Test dieses Problem nicht fand, weil wir diese Schnittstelle für den Unit-Test verspotteten und unser Mock natürlich auf unserer falschen Interpretation der Schnittstelle beruhte tun. Jetzt könnte ich ein bisschen wütend auf unseren lieben Mitarbeiter sein, der die Schnittstelle bereitgestellt hat, weil ihre Beschreibung / Spezifikation (ein knapper JavaDoc-Kommentar) nicht eindeutig war und zu unserem Missverständnis beitrug. Andererseits dachte ich, dass das Problem hätte vermieden werden können, wenn dieselben Mitarbeiter eine Scheinimplementierung ihrer Schnittstelle bereitgestellt hätten, die wir in unseren Unit-Tests aufrufen könnten.
Was ist nun die beste Vorgehensweise bei der Organisation der Erstellung von Scheinobjekten unter Teams, die gemeinsam genutzte Schnittstellen bereitstellen und verwenden? Was sind deine Erfahrungen?