Je souhaite créer une instance de classe A qui hérite de la classe StatelessService dans mon test unitaire. Mais je ne peux pas. J'ai tout essayé: en se moquant des dépendances, en implémentant mes propres contextes et etc.Comment tester un service sans état dans le fabric de service
Lorsque j'essaie de créer une instance, StatelessService renvoie NullReferenceException quelque part à l'intérieur.
Cela peut-il être fait?
class A : StatelessService
{
public A(StatelessServiceContext context) : base(context /* Here will be thrown NullReferenceException */)
{
// It will never even get there.
}
}
class UnitTest
{
public void TestMethod()
{
var activationContext = MOCK<ICodePackageActivationContext>();
var context = new StatelessServiceContext(..., activationContext, ...);
var a = new A(context); // Here will be thrown an exception.
}
}
Fournissez du code en [mcve] qui illustre mieux votre problème. Il peut être utilisé pour aider à identifier le problème et dériver des solutions possibles. – Nkosi
@Nkosi J'ai mis à jour la question en fournissant un pseudo-code minimal. – EwanCoder
Vous devrez également être plus descriptif quant à quand et où vous obtenez l'erreur. Jetez un oeil à l'exemple ici et voyez si vous pouvez trouver un exemple qui aide https://github.com/Azure-Samples/service-fabric-watchdog-service/blob/90c6418a99b5fcd777a5b7c2a5f6443fdcc9f42a/TestStatelessService/TestStatelessService.cs – Nkosi