¿ªÔÆÌåÓý

ctrl + shift + ? for shortcuts
© 2025 Groups.io

Re: [TDD] Unity3d and TDD


 

I've only done a small amount of Unity and didn't do any TDD there (I know, my bad), but I would take the same approach I would if it was a Swing or Android app - move as much code as possible to be agnostic of the infrastructure it is running in and test that in isolation.

I would have a series of ports, a la ports/adapters, that allow the domain logic to communicate to/from the Unity layer and have the domain logic only be aware of those, then provide adapters into Unity.? The biggest downside I see from this is that it will undoubtedly bloat your code and could _potentially_ have a performance impact depending on the type of game you're making.

On Tue, Mar 22, 2016 at 10:47 AM, 'Donaldson, John' john.m.donaldson@... [testdrivendevelopment] <testdrivendevelopment@...> wrote:

?

Yes, I was just testing stuff I was delegating to. Not grasping the thorny MonoBehaviour.

I did see somewhere that Model-View-Controller and Dependency Injection could let you TDD into MonoBehaviour sub-classes.

Quite a good discussion here:

J.

From: testdrivendevelopment@... [mailto:testdrivendevelopment@...]
Sent: 22 March 2016 10:46
To: testdrivendevelopment@...
Subject: Re: [TDD] Unity3d and TDD





I have no idea about how Unity works, but perhaps instead of writing your behaviour in a class that extends monobehavior, you could create a pure-C# object and delegate all interesting stuff to it.

On Tue, Mar 22, 2016 at 10:30 AM, Avi Kessner akessner@...akessner@...> [testdrivendevelopment] <testdrivendevelopment@...testdrivendevelopment@...>> wrote:


How do you make classes that extend monobehavior testable? Or maybe I'm just not far enough into the project where I can use composition on those bits.
On Mar 22, 2016 11:04 AM, "'Donaldson, John' john.m.donaldson@...john.m.donaldson@...> [testdrivendevelopment]" <testdrivendevelopment@...testdrivendevelopment@...>> wrote:


Avi - nice to see you're still out there :-) I've played around a bit with Unity and took the weak position vis-¨¤-vis TDD.
That is: the visual interface is tested by looking at it and the rest is just normal C# code with normal tests.

John D.








[Non-text portions of this message have been removed]




--
Maybe she awoke to see the roommate's boyfriend swinging from the chandelier wearing a boar's head.

Something which you, I, and everyone else would call "Tuesday", of course.

Join [email protected] to automatically receive all group messages.