Suggestion on how to inject/reuse CLR Objects when automating with LPRun?
Hi.
I perform queries on a pretty large datacontext (proprietary CLR Object). The larger ones can take a couple of minutes to load. The Util.Cache feature has helped us immensely. With the introduction of LPRun, it is tempting to divide into a lot of different queries that can be versioned independently and batched together depending on what test suites should be run.
Ideally, I'd like a Util.Run(string QueryFilePath, QueryResultFormat format, params object[]).
I realize that this is difficult both because it doesn't match the signature of Main(string[] params) and because they may not be executing in the same appdomain. It would be hard to make the CLR object serializeable.
Any suggestions?
I perform queries on a pretty large datacontext (proprietary CLR Object). The larger ones can take a couple of minutes to load. The Util.Cache feature has helped us immensely. With the introduction of LPRun, it is tempting to divide into a lot of different queries that can be versioned independently and batched together depending on what test suites should be run.
Ideally, I'd like a Util.Run(string QueryFilePath, QueryResultFormat format, params object[]).
I realize that this is difficult both because it doesn't match the signature of Main(string[] params) and because they may not be executing in the same appdomain. It would be hard to make the CLR object serializeable.
Any suggestions?
Comments
I've been considering the feature request to allow one query to reference another. This would enable a statically typed solution, which would be even better.
I am considering a solution where the .query files are textually merged prior to invoking LPRun and letting the inter-query exchange happen through singletons accessed through myextensions so that the queries can both be executed individually and in a larger context without code change.