2015-08-19 2 views
1

Итак, я написал новый класс для драгоценного камня. Я хочу отправить запросы на перенос, но те тесты, которые я написал, не будут выполняться из-за скрытой ошибки.NameError: неинициализированная константа при попытке запуска тестового файла

Я использую Rubymine для запуска этих тестов, потому что rake test не работает должным образом на моей машине, вероятно, потому, что Windows<insert verb of choice> (спасибо за ворота).

В любом случае, я могу запустить существующие тестовые файлы просто отлично, все из которых проходят. Однако я не могу выполнить свой тест. Я почти уверен, что это будет происходить на сборке faker gem, но правильная вещь - тест.

Итак, без дальнейших церемоний, вот мой класс:

module Faker 
    class Shakespeare < Base 
    class << self 



     def hamlet_quote 
     hamlet.sample 
     end 

     def as_you_like_it_quote 
     as_you_like_it.sample 
     end 

     def king_richard_iii_quote 
     king_richard_iii.sample 
     end 

     def romeo_and_juliet_quote 
     romeo_and_juliet.sample 
     end 

     def hamlet 
      ["To be, or not to be: that is the question.", 
      "Neither a borrower nor a lender be; For loan oft loses both itself and friend, and borrowing dulls the edge of husbandry.", 
      "This above all: to thine own self be true.", 
      "Though this be madness, yet there is method in 't.", 
      "That it should come to this!.", 
      "There is nothing either good or bad, but thinking makes it so.", 
      "What a piece of work is man! how noble in reason! how infinite in faculty! in form and moving how express and admirable! in action how like an angel! in apprehension how like a god! the beauty of the world, the paragon of animals! .", 
      "The lady doth protest too much, methinks.", 
      "In my mind's eye.", 
      "A little more than kin, and less than kind.", 
      "The play 's the thing wherein I'll catch the conscience of the king.", 
      "And it must follow, as the night the day, thou canst not then be false to any man.", 
      "Brevity is the soul of wit.", 
      "Doubt that the sun doth move, doubt truth to be a liar, but never doubt I love.", 
      "Rich gifts wax poor when givers prove unkind.", 
      "Do you think I am easier to be played on than a pipe?", 
      "I will speak daggers to her, but use none.", 
      "When sorrows come, they come not single spies, but in battalions."] 
     end 


     def as_you_like_it 
      ["All the world 's a stage, and all the men and women merely players. They have their exits and their entrances; And one man in his time plays many parts.", 
      "Can one desire too much of a good thing?.", 
      "I like this place and willingly could waste my time in it.", 
      "How bitter a thing it is to look into happiness through another man's eyes!", 
      "Blow, blow, thou winter wind! Thou art not so unkind as man's ingratitude.", 
      "True is it that we have seen better days.", 
      "For ever and a day.", 
      "The fool doth think he is wise, but the wise man knows himself to be a fool."] 
     end 


     def king_richard_iii 
      ["Now is the winter of our discontent.", 
      "A horse! a horse! my kingdom for a horse!.", 
      "Conscience is but a word that cowards use, devised at first to keep the strong in awe.", 
      "So wise so young, they say, do never live long.", 
      "Off with his head!", 
      "An honest tale speeds best, being plainly told.", 
      "The king's name is a tower of strength.", 
      "The world is grown so bad, that wrens make prey where eagles dare not perch."] 
     end 



     def romeo_and_juliet 
      ["O Romeo, Romeo! wherefore art thou Romeo?.", 
      "It is the east, and Juliet is the sun.", 
      "Good Night, Good night! Parting is such sweet sorrow, that I shall say good night till it be morrow.", 
      "What's in a name? That which we call a rose by any other name would smell as sweet.", 
      "Wisely and slow; they stumble that run fast.", 
      "Tempt not a desperate man.", 
      "For you and I are past our dancing days.", 
      "O! she doth teach the torches to burn bright.", 
      "It seems she hangs upon the cheek of night like a rich jewel in an Ethiope's ear.", 
      "See, how she leans her cheek upon her hand! O that I were a glove upon that hand, that I might touch that cheek!.", 
      "Not stepping o'er the bounds of modesty."] 
     end 

     end 
    end 
    end 

Вот мой тестовый файл:

require File.expand_path(File.dirname(__FILE__) + '/test_helper.rb') 

class TestFakerShakespeare < Test::Unit::TestCase  
    def setup 
    @romeo_and_juliet = Faker::Shakespeare.romeo_and_juliet 
     @king_richard_iii = Faker::Shakespeare.king_richard_iii 
     @as_you_like_it = Faker::Shakespeare.as_you_like_it 
     @hamlet = Faker::Shakespeare.hamlet 
    end 

    def test_quotes 
    assert @romeo_and_juliet.size == 11  
    @romeo_and_juliet.each do |quotes| 
     assert !quotes.nil? 
     assert quotes != "" 
    end  

    assert @king_richard_iii.size == 8  
    @king_richard_iii.each do |quotes| 
     assert !quotes.nil? 
     assert quotes != "" 
    end 

    assert @as_you_like_it.size == 8 
    @as_you_like_it.each do |quotes| 
     assert !quotes.nil? 
     assert quotes != "" 
    end 

    assert @hamlet.size == 18  
    @hamlet.each do |quotes| 
     assert !quotes.nil? 
     assert quotes != "" 
    end  
    end 

    def test_as_you_like_it_quote 
    assert Faker::Shakespeare.as_you_like_it_quote.match(/\w+/) 
    end 

    def test_king_richard_iii_quote 
    assert Faker::Shakespeare.king_richard_iii_quote.match(/\w+/) 
    end 

    def test_romeo_and_juliet_quote 
    assert Faker::Shakespeare.romeo_and_juliet_quote.match(/\w+/) 
    end 

    def test_hamlet_quote 
    assert Faker::Shakespeare.hamlet_quote.match(/\w+/) 
    end 

end 

Вот моя ошибка:

NameError: uninitialized constant Faker::Shakespeare 
C:/workspace/faker/test/test_faker_shakespeare.rb:5:in `setup' 
    (eval):12:in `run' 
    C:/Program Files (x86)/JetBrains/RubyMine 7.1.3/rb/testing/patch/testunit/test/unit/ui/teamcity/testrunner.rb:93:in `start_mediator' 
    C:/Program Files (x86)/JetBrains/RubyMine 7.1.3/rb/testing/patch/testunit/test/unit/ui/teamcity/testrunner.rb:81:in `start' 

И если вы хотите чтобы проверить больше файлов в репо, что я не был создателем, вы можете посмотреть репо here

+0

Вы добавили требование в любое место с вашим новым именем? Кажется, что фейкер требует файлы здесь: https://github.com/stympy/faker/blob/master/lib/faker.rb#L160. Это может быть хорошим местом для добавления ваших, если вы этого не сделали. – yez

+0

Удивительно, это то, что мне нужно, все мои тесты прошли, и я готов к запросу на тяну. Спасибо! – FluffyKittens

+0

Если вы хотите, чтобы этот комментарий был ответом, я согласен. – FluffyKittens

ответ

Смежные вопросы