Lassen Sie uns mit Ruby ~ Test-Unit-Vorbereitung ~ Draw Poker machen

Überblick

Machen wir Draw Poker mit Ruby-Preparation-

Gefolgt von.

Quelle: https://github.com/rytkmt/ruby_poker

Ich kenne die Testeinheit überhaupt nicht ... Also werde ich diesmal die Testeinheit vorbereiten.

Vorbereitung

Bitte beziehen Sie sich auf diese offizielle Seite

Da es sich jedoch nicht um ein Juwel handelt, scheint sich das Verfahren ein wenig zu ändern ... Also werde ich das Verfahren einschließlich dessen aufzeichnen

Erste Dateivorbereitung

$ cd ruby_poker
$ bundle gem -t minitest ./
git status -sb

A  .gitignore
A  .travis.yml
A  CODE_OF_CONDUCT.md
A  Gemfile
A  LICENSE.txt
A  Rakefile
A  bin/console
A  bin/setup
A  lib/ruby_poker.rb
A  lib/ruby_poker/version.rb
A  ruby_poker.gemspec
A  test/ruby_poker_test.rb
A  test/test_helper.rb

Ganz gemacht

Entfernen Sie gemspec, da es kein Edelstein ist

$ git rm ruby_poker.gemspec

Dateiänderung

Gemfile

Gemfile


-# Specify your gem's dependencies in ruby_poker.gemspec
-gemspec
+gem "rake"
+group :test do
+  gem "pry-byebug"
+  gem "test-unit"
+  gem "test-unit-rr"
+end

Gemspec-Zeile löschen Wechseln Sie stattdessen vom Minitest zum Testgerät, installieren Sie also zuerst gem

$ bundle install

Bearbeiten Sie zu diesem Zeitpunkt .gitignore nach Bedarf, damit die vom Bundler installierten Dateien nicht auf git hochgehen.

Rakefile

Rakefile


-require "bundler/gem_tasks"
 require "rake/testtask"

test/test_helper.rb

test/test_helper.rb


 $LOAD_PATH.unshift File.expand_path("../lib", __dir__)
 require "ruby_poker"
 
-require "minitest/autorun"
+require "pry"
+require "test/unit"
+require "test/unit/rr"

test/ruby_poker_test.rb

test/ruby_poker_test.rb


 require "test_helper"
 
-class RubyPokerTest < Minitest::Test
+class RubyPokerTest < Test::Unit::TestCase
   def test_that_it_has_a_version_number
     refute_nil ::RubyPoker::VERSION
   end

bin/console

Wenn ich "bundle exec console" ausführe, wird eine Fehlermeldung angezeigt, da sich ruby_poker nicht in LOAD_PATH befindet. Fügen Sie es also zu LOAD_PATH hinzu

bin/console


 require "bundler/setup"
+$LOAD_PATH.unshift File.expand_path("../lib", __dir__)
+
 require "ruby_poker"

Funktionsprüfung

console

Führen Sie bundle exec console und OK aus, wenn irb startet

test

Da der Testfall als Beispiel erstellt wird, so dass "Bundle Exec Rake Test" ausgeführt wird und 1 Fall fehlschlägt, ist 1 Fall erfolgreich und 1 Fall schlägt fehl.

$ rake test
/home/vagrant/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/rake-12.3.2/lib/rake/file_utils.rb:54: warning: Insecure world writable dir /home in PATH, mode 040707
Loaded suite /home/vagrant/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/rake-12.3.2/lib/rake/rake_test_loader
Started
F
==============================================================================================================================================================
      6:   end
      7: 
      8:   def test_it_does_something_useful
  =>  9:     assert false
     10:   end
     11: end
/home/vagrant/private_workspace/ruby_poker/test/ruby_poker_test.rb:9:in `test_it_does_something_useful'
Failure: test_it_does_something_useful(RubyPokerTest): <false> is not true.
==============================================================================================================================================================
.
Finished in 0.004560792 seconds.
--------------------------------------------------------------------------------------------------------------------------------------------------------------
2 tests, 2 assertions, 1 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
50% passed
--------------------------------------------------------------------------------------------------------------------------------------------------------------
438.52 tests/s, 438.52 assertions/s
rake aborted!
Command failed with status (1)

Tasks: TOP => test
(See full trace by running task with --trace)

Fortsetzung

Machen wir Draw Poker mit Ruby-Implementierung 1 (Karte) -

Recommended Posts

Lassen Sie uns mit Ruby ~ Test-Unit-Vorbereitung ~ Draw Poker machen
Lassen Sie uns mit Ruby ~ Vorbereitung ~ Poker ziehen
Lassen Sie uns mit Ruby Draw Poker machen ~ Implementierung 4 (Deck) ~
Lassen Sie uns mit Ruby Draw Poker machen ~ Implementierung 3 (Spieler) ~
Lassen Sie uns mit Ruby Draw Poker machen ~ Implementierung 2 (Rolle) ~
Machen wir einen LINE Bot mit Ruby + Sinatra - Teil 2
Machen wir einen LINE Bot mit Ruby + Sinatra - Teil 1
Machen Sie ein Tippspiel mit Ruby
Machen wir eine Weihnachtskarte mit Verarbeitung!
Lassen Sie uns mit Rails einen Fehlerbildschirm erstellen
Lassen Sie uns eine Suchfunktion mit Rails (Ransack) machen
So erstellen Sie eine mit Ruby erstellte LINE-Messaging-Funktion
[Java-Grundlagen] Lassen Sie uns ein Dreieck mit einer for-Anweisung erstellen