Dels
Dels

Reputation: 11

tSqlt - Unit Testing Procedures which output XML using Schema Collections

We are currently developing SQL stored procedures for an integration project which requires XML payloads, which we have implemented using Schema Collections to ensure strict adherence to the defined schema.

We want to write unit tests for these stored procedures but given the output is XML, I am not sure how ( or if ) I can do this with the assert stored procedures in tsqlt (without having to convert everything into a table / table variable.)

Can someone please point me in the right direction - whether it can/can't be done, and if its not possible, how should I approach trying to create a new asset stored procedure for XML payloads ?

Or would we save a lot of time / heartache by simply converting the expected and actual results from XML into tables in each test ?

Thanks

Upvotes: 0

Views: 637

Answers (1)

Sebastian Meine
Sebastian Meine

Reputation: 11783

If you are dealing with the situation that the order of nodes might change, then converting the XML to tables might be your best bet.

If the order of nodes and attributes is fixed in your output, you could convert the XML to an NVARCHAR(MAX) and then use tSQLt.AssertEqualsString.

Upvotes: 2

Related Questions