![]() | |
#231
| |||
| |||
|
|
No, I mean "every time any source file is changed in the working tree". There's a loop watching for filesystem events on the working tree the developer is working in, and executing the unit test suite whenever that happens. That way, the developer never needs to distract themselves distinguishing between "an edit that means I should run the unit test suite" versus "an edit that isn't worth running the unit test suite". The unit test suite is *always* run after an edit, and the developer can choose when to look at the results. Ouch. From my experience as a coder, you save code not only when you have an error-free or even compiling state. This means that the tests will be all red most of the time, and after some time, people will stop watching them at all. |
|
Have you talked to your developers about that? You could have a unit test server that has a database server installed. Every 5 minutes it checks out the project source, initializes the database and runs the unit tests. This is also an excellent practice, and we follow it, but is more in line for an "integration" cycle: check out the current source code every time a commit is done, and attempt to build the entire project, making a report available on completion for anyone to check when they feel like. It's an altogether different purpose from unit testing, though. |
#232
| |||
| |||
|
|
No, I mean "every time any source file is changed in the working tree". There's a loop watching for filesystem events on the working tree the developer is working in, and executing the unit test suite whenever that happens. That way, the developer never needs to distract themselves distinguishing between "an edit that means I should run the unit test suite" versus "an edit that isn't worth running the unit test suite". The unit test suite is *always* run after an edit, and the developer can choose when to look at the results. Ouch. From my experience as a coder, you save code not only when you have an error-free or even compiling state. This means that the tests will be all red most of the time, and after some time, people will stop watching them at all. |
|
Have you talked to your developers about that? You could have a unit test server that has a database server installed. Every 5 minutes it checks out the project source, initializes the database and runs the unit tests. This is also an excellent practice, and we follow it, but is more in line for an "integration" cycle: check out the current source code every time a commit is done, and attempt to build the entire project, making a report available on completion for anyone to check when they feel like. It's an altogether different purpose from unit testing, though. |
#233
| |||
| |||
|
|
No, I mean "every time any source file is changed in the working tree". There's a loop watching for filesystem events on the working tree the developer is working in, and executing the unit test suite whenever that happens. That way, the developer never needs to distract themselves distinguishing between "an edit that means I should run the unit test suite" versus "an edit that isn't worth running the unit test suite". The unit test suite is *always* run after an edit, and the developer can choose when to look at the results. Ouch. From my experience as a coder, you save code not only when you have an error-free or even compiling state. This means that the tests will be all red most of the time, and after some time, people will stop watching them at all. |
|
Have you talked to your developers about that? You could have a unit test server that has a database server installed. Every 5 minutes it checks out the project source, initializes the database and runs the unit tests. This is also an excellent practice, and we follow it, but is more in line for an "integration" cycle: check out the current source code every time a commit is done, and attempt to build the entire project, making a report available on completion for anyone to check when they feel like. It's an altogether different purpose from unit testing, though. |
![]() |
| Thread Tools | |
| Display Modes | |
| |