Тесты в TDD о покрытии спецификация , на самом деле они могут быть замена для спецификации. В TDD тесты не о покрытии кода. Они удостоверяются, что код покрывает спецификацию, потому что код провалит тест, если это не покроет спецификацию. Любой дополнительный код, который Вы имеете, не имеет значения.
, Таким образом, у Вас есть достаточно тестов, когда тесты похожи, они описывают все ожидания, что Вы или заинтересованные стороны имеете.
Как вы правильно заметили, Java включает в себя большое количество компонентов; Я не уверен, что вы сможете получить исчерпывающий ответ, который проясняет все тонкости здесь.
Однако, исходя из различных лицензий, которые я читал до сих пор, Java (предполагается) полностью GPL ' d, за исключением реализации SNMP, которая все еще затруднена. Сюда входят все указанные вами элементы, за возможным исключением Java EE. (Я мало что знаю об этом)
Что касается состояния процесса; похоже, что нет большого прогресса в замене реализации SNMP. Поэтому я бы придерживался мнения, что Java 6. не будет полностью совместима с GPL.
Java 7 выглядит так, как будто она будет полностью совместима с GPL, исходя из информации, которую предоставляет Sun. Но это'
Несмотря на то, что OpenJDK делает реализацию Java открытой, по-прежнему существуют некоторые проблемы , поскольку спецификация Java не открыта.
Я не могу сказать, что знаю столько о текущем переходе / процессе, но могу сказать вам, что OpenJDK (см. Также OpenJDK на Wikipedia ), в частности, OpenJDK 6 достаточно хорош, чтобы его можно было использовать вместо версии Sun Java JDK 6, и теперь он сертифицирован Canonical для использования в Ubuntu Jaunty .
Здесь вы не получите окончательного ответа по SO. Или в Википедии. Или на gnu.org.
Если и есть такая вещь, как окончательный ответ , то это то, что Sun сообщает на странице Free and Open Source Java .
Любой. резюме, которое я сделаю, не будет окончательным, поэтому я и не буду.