Yakutta, tanımlandıktan sonra bir değişken veya sabitin "undefine" edilmesi için bir yol var mı? TESTING
, DEVELOPMENT
veya PRODUCTION
: Bizim raylar environemnts iseBir değişkeni ruby cinsinden tanımlamak mümkün mü?
, üç Contants biri ortamına bağlı olarak true
olmak tanımlar. Daha sonra, denetleyici kodunda, hangi ortamda olduğumuzu görmek için defined?
kullanıyoruz, örneğin: defined? PRODUCTION
.
Şimdi, o ortama özgü davranış bazı birim testi istiyorum. İlk denemem, testimde uygun sabiti ayarlamak ve daha sonra bunları teardown ile sıfırlamaktı. Ancak, ben DEVELOPMENT
sıfırlamak ve PRODUCTION
böyle defined?
o döner sahte anlamaya olamaz.
Açıkçası, bir çözüm sadece uygun sabiti de onu tanımlanan olmadığını kontrol ek olarak gerçek olup olmadığını görmek için kontrol etmek olurdu, ama bu mevcut kod adil bir miktar dokunmak zorunda sonuçlanacaktır.
DÜZENLEME: Bu kesinlikle şeyler yapmak için doğru yol değildir biliyoruz. Ne yazık ki, onu değiştirmek basit olmayan bir görev, bu yüzden şimdi orada olanı test etmek için kolay bir yol arıyorum. Ayrıca, sadece bir değişken/sabitin tanımlanmasının mümkün olup olmadığının alt düzeydeki dil sorusunu merak ediyorum.
Bu benim, hacky ya da değil arıyordu tam olarak ne (o en birim test kodu, bu yüzden özel olduğunu korkunç endişeli değilim). Teşekkürler! –