Ich schreibe Tests für einige Sftp-Validierungen und ich starte einen eingebetteten Sftp-Server.Einschränken einer Java-Methode zum Aufrufen von Methoden mit bestimmten Annotation
so habe ich eine Klasse wie:
public class SftpServer {
//method to initialize server
public void init(){};
//method to stop server
public void stop(){};
}
nun als meine Tests in Multithreaded-Umgebung ausführen mag ich den Server gestartet nur einmal werden oder gestoppt wird, ich TestNG
als Unit Testing Framework verwenden.
so mag ich die init
und die stop
Methoden nur mit Methoden annotated
mit @BeforeSuite
oder @AfterSuite
Anmerkungen genannt werden, ich weiß, dass Java-docs vielleicht eine Möglichkeit, diese Art und Weise getan vorschlagen bekommen, aber ich mag Erzwingen es, Ist es in Java möglich, diese Beschränkung in irgendeiner Weise durchzusetzen?
Nein, Anmerkungen enthalten nur Metainformationen für den Compiler und können den Zugriff auf Methoden nicht einschränken. –
Wie ist es, den Annotationsklassennamen der aufrufenden Methode zu finden und eine Ausnahme auszulösen, wenn es nicht die richtige Annotation ist? – Anirudh
finden Sie die aufrufende Methode und verwenden Sie Reflektion, um seine Anmerkungen zu lösen :) –