2017-10-01 5 views
0

J'ai une classe qui est définie comme:Comment étend une classe qui a reçu des paramètres avec l'injection de dépendance Guice

class CalloutReaderService @Inject()(configuration: Configuration, sparkSession: SparkSession, domainUtils: DomainUtils, udfDefinitions: UdfDefinitions, 
           dwhSiteInstanceReader: DwhSiteInstanceReader) 
extends Serializable { 

et je voudrais créer une nouvelle classe qui inherents de ce qui précède:

class CalloutReaderServiceTest extends CalloutReaderService 

Quelle est la syntaxe correcte lors de l'utilisation de Guice Dependency Injection?

Merci

Répondre

3

Vous avez encore besoin d'injecter chaque dépendance dans le constructeur (de votre sous-classe):

class CalloutReaderServiceTest @Inject() (
    configuration: Configuration, 
    sparkSession: SparkSession, 
    domainUtils: DomainUtils, 
    udfDefinitions: UdfDefinitions, 
    dwhSiteInstanceReader: DwhSiteInstanceReader) 
    extends CalloutReaderService (
    configuration, 
    sparkSession, 
    domainUtils, 
    udfDefinitions, 
    dwhSiteInstanceReader) 

Cependant, avez-vous vraiment besoin de faire une sous-classe? Surtout avec ce nom, il semble que vous voulez juste instancier le "normal" CalloutReaderService avec un ensemble de dépendances appropriées pour le test.

+0

oui, vous avez raison. Je pourrais exécuter mon test si je devais des dépendances pour tester CalloutReaderService. pouvez-vous s'il vous plaît partager un exemple, ou un lien vers un guide approprié. Merci! –