<div dir="ltr">Hi Graham,<br><div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Apr 14, 2014 at 5:35 PM, Graham Ashton <span dir="ltr"><<a href="mailto:graham@effectif.com" target="_blank">graham@effectif.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="">On 14 Apr 2014, at 17:25, Stephen Nelson-Smith <<a href="mailto:sanelson@gmail.com">sanelson@gmail.com</a>> wrote:<br>

<br>
>> this sounds like a potential opportunity to decouple the part of your application that queries AWS from the part that uses the resulting data, "hexagonal" style.<br>
><br>
> Yep... that's actually exactly what I've done.  There's a separate class whose responsibility is purely to establish a connection via the AWS gem, and broker data.  The thinking was that I can test and alter what is behind that, as long as the adapter presents a unified interface to the rest of the application.<br>

<br>
</div>This sounds like an even stronger argument to just build a struct in your test and to pass it through to the code under test.<br>
<br>
While it may appear simpler on the face of it to just let some code you won’t really see serialise stuff and then pass it through to you, your part of the app is now dependent on how the other bit evolves. It’s actually more complicated.<br>
</blockquote><div><br></div><div>I may have misled you - I wasn't proposing to do this dynamically, or even more than once - that's insane.  I just wanted to be able to take the 230 odd objects and serialise them once, so I'd have a pot of canned data to mine, rather than trying to construct it manually. <br>
</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
If building the struct seems messy (as it has a lot of stuff that varies depending on how you use it) don’t do that inline. I tend to do this kind fo thing in helper methods. You can create structs that are well suited to each test with optional parameters.</blockquote>
<div><br></div><div><snip><br><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
The key benefit of this approach in my view is that everything you need to know to determine what the code is acting on is visible in this test file, rather than being hidden away inside a lump of XML in a fixture.<br></blockquote>
<div><br></div><div>Yes - I can see a big benefit of that... good call.<br><br></div><div>S.</div></div></div></div>