we actually did not think that MockPayloadSender or MockConfigSnapshot would be something that our users would use.
I think when you do unit tests, you don't actually need to test the agent.
So, if you have a class where you for example use the public agent API, you can just pass an ITracer instance into your code - in production this would come from the real agent and in a unit test you can just pass null.
Like here:
public void MyMethod(ITracer tracer)
{
// If ITracer is a real tracer, it'll start the transaction, if ITracer is null, nothing will happen here
var transaction = tracer?.StartTransaction("SampleTransaction", "SampleSpan");
try
{
// your code with here
}
catch (Exception e)
{
transaction?.CaptureException(e);
throw;
}
finally
{
transaction?.End();
}
}
In prod. code you can pass Agent.Tracer into this method, in a unit test just leave it to null. The concept is the same if you unit test a class - you can e.g. dependency inject in the constructor.
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.