मैं सामान्य रूप से डुप्लिकेशंस से बचने और DRY सिद्धांत का पालन करने का प्रयास करता हूं।उत्पादन और टेस्ट कोड कॉन्स्टेंट्स के बीच DRY
public class Feature {
final static String FEATURE_LABEL = "blah";
public void doSomething() { ... }
...
}
public class FeatureTest {
...
@Test
public void doSomethingShouldMakeSomethingHappen() {
assertEquals(Feature.FEATURE_LABEL,
feature.getSomethingHappens().getLabel());
}
तो आवश्यकता है कि लेबल हो "blah" और किसी FEATURE_LABEL बदल जाता है "bleh", परीक्षण भी पारित करेंगे करने के लिए ही वह अब पूरा करती है: हालांकि, मैं इस तरह के मामले के बारे में सोच रहा हूँ आवश्यकता। क्या यह DRY का उल्लंघन करने के लिए एक वैध जगह है?
मैं मानता हूं कि यदि आवश्यकता बदलती है, तो परीक्षण बदलना चाहिए। मुझे चिंता है कि निरंतर एक से अधिक स्थानों में उपयोग किया जा सकता है और आवश्यकता एक स्थान के लिए बदल सकती है लेकिन दूसरी जगह के लिए समान रहती है। –