En ufak tefek yeniyim ve yine de bu yeni soruya cevaben ve sorgusuz olarak bu soruyu sormaktan gerçekten çok yoruldum. Yardım için çok minnettar olurum:Ruby minitest assert_output sözdizimi
Ruby minicikinde assert_output'un tam sözdizimi nedir?
Github'da veya başka bir yerde bulabildiğim her şey parantez kullanıyor gibi görünüyor. Yine de, assert_output ile bir blok kullanmadığımda bir hata mesajı alıyorum, bu da yöntemin tanımı bir getiri beyanı içerdiğinden anlam ifade ediyor.
Ancak, ne yaparsam yaparım.
testclass.rb
class TestClass
def output
puts 'hey'
end
end
test_test.rb
require 'minitest/spec'
require 'minitest/autorun'
require_relative 'testclass'
class TestTestClass < MiniTest::Unit::TestCase
def setup
@test = TestClass.new
end
def output_produces_output
assert_output(stdout = 'hey') { @test.output}
end
end
I get gerekenler: 0.000000s içinde
Biten testleri, NaN/s test NaN iddialar
0 test, 0 iddia, 0 hata, 0 hata, 0 atla
Neyi yanlış yapıyorum? Tamamen açık bir şey olmalı, ama anlayamıyorum. Yardımlarınız için teşekkürler.
TEŞEKKÜR EDERİZ !! Yani 'test' ile başlamıyor yöntem adıydı ve ben sözdizimi sorgulanıyordu. Yanlış soruda daha fazla arama yapmam için bana teşekkür ettiğin için teşekkür ederim. – enahel
Bir soru daha: Örnek, regex ile yazdığınız şekilde çalışıyor, aynı zamanda stdout = 'hey' ile yazdığım gibi çalışıyor. 'Stdout =' olmadan yalnızca assert_output ('hey') ile çalışmaz. Neden? – enahel
Ve - son olarak - neden en çok iadeden daha fazla iddia alabilirim? Benim gerçek örneğimde tek bir test var, "1 çalışır, 2 onay" diyor. (BTW Test sırasında yöntemin gerçek stdout çıktısını, komut istemi daha okunabilir hale getirecek şekilde basabilir miyim?) – enahel