I test dovrebbero essere nello stesso file Ruby o in file Ruby separati?

0

Mentre utilizzo Selenium e Ruby per eseguire alcuni test funzionali, sono preoccupato per le prestazioni. Quindi è meglio aggiungere tutti i metodi di test nello stesso file di Ruby, o dovrei inserire ciascuno in file di codice separati?

Sotto un campione con tutti i test nello stesso file:

# encoding: utf-8
require "selenium-webdriver"
require "test/unit"

class Tests < Test::Unit::TestCase

    def setup
        @driver = Selenium::WebDriver.for :firefox
        @base_url = "http://mysite"
        @driver.manage.timeouts.implicit_wait = 30
        @verification_errors = []
        @wait = Selenium::WebDriver::Wait.new :timeout => 10
    end


    def teardown
        @driver.quit
        assert_equal [], @verification_errors
    end

    def element_present?(how, what)
        @driver.find_element(how, what)
        true
        rescue Selenium::WebDriver::Error::NoSuchElementError
        false
    end

    def verify(&blk)
        yield
        rescue Test::Unit::AssertionFailedError => ex
        @verification_errors << ex
    end

    def test_1

        @driver.get(@base_url + "/")
        # a huge test here

    end

    def test_2

        @driver.get(@base_url + "/")
        # a huge test here

    end

    def test_3

        @driver.get(@base_url + "/")
        # a huge test here

    end

    def test_4

        @driver.get(@base_url + "/")
        # a huge test here

    end

    def test_5

        @driver.get(@base_url + "/")
        # a huge test here

    end
end
    
posta Junior M 08.11.2012 - 18:57
fonte

1 risposta

3

Il numero di file che comprende i test sarà per lo più irrilevante. Il tempo impiegato per eseguire i test sarà molto maggiore del tempo impiegato per caricare e compilare i file.

Cerca invece di mantenere il tuo codice di test gestibile - i test relativi ai gruppi insieme, e cerca di mantenere i file con il campo di gioco molto approssimativo di 50-500 linee.

    
risposta data 11.11.2012 - 19:53
fonte

Leggi altre domande sui tag