--
You received this message because you are subscribed to the Google Groups "Ekam" group.
To post to this group, send email to ekam...@googlegroups.com.
To unsubscribe from this group, send email to ekam-tool+...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/ekam-tool?hl=en.
That would be cool. I see the reasoning for why it is the way it is by
default, but would like the other behavior when I'm doing TDD for one
(new) class at a time.
Now that I think about it, the behavior of always running every test
could become pretty annoying if you add larger integration tests. Have
you thought about allowing the user to specify one target to
build/run? Or is that against the whole philosophy?
Now that I think about it, the behavior of always running every testcould become pretty annoying if you add larger integration tests. Have
you thought about allowing the user to specify one target to
build/run? Or is that against the whole philosophy?
The way I tend to work is messing with one class at a time, running
its unit tests over and over until I've added/modified the appropriate
tests and made them pass. I'd like to see only the unit test output,
not the integration test output, until I'm done with each individual
class (since it's likely to fail or not even compile). If I understand
correctly, when I change an individual class that should trigger ekam
to run its unit test and the integration test.
> The problem with letting the user specify one particular target is that Ekam
> doesn't know where to find its dependencies until it actually builds those
> dependencies. So, at least on the first pass, it really has to build
> everything. In theory, Ekam could record the dependency graph from that
> first pass in order to perform more directed builds in the future, but it's
> tricky because any time a source file changes, the dependency graph on top
> of that file could change drastically.
>
> So, instead, I'm really trying to get continuous build mode to be good
> enough that people don't feel the need to build individual targets. A lot
> can be achieved through "optimizations". For example, Ekam could remember
> which tests took a long time to run in the past, and prefer to delay them
> until after faster tests have completed. Also, Ekam can prefer to run build
> actions that live close to the changed file before it moves on to ones
> further away, so that the edited package's tests are run before other
> package's tests. These two "optimizations" may conflict, but then it's just
> a matter of tuning.
Fair enough, I like the sound of this if you're planning on going into
that sort of heuristic.