A testing framework to run unit tests via csv
This extends the bacon testing framework with the ability to use rr.
Acceptance test framework for ZeroMQ applications. Includes some cucumber helpers.
Webrat lets you quickly write expressive and robust acceptance tests for a Ruby web application. It supports simulating a browser inside a Ruby process to avoid the performance hit and browser dependency of Selenium or Watir, but the same API can also be used to drive real Selenium tests when necessary (eg. for testing AJAX interactions). Most Ruby web frameworks and testing frameworks are supported.
Rails based AB test framework
Fake Dropbox server written using the Sinatra framework. For development and testing purposes, no real authentication and users, stores files on the local machine. Can be used either as a standalone app listening on a port (language agnostic) or intercept calls to the real Dropbox in Ruby apps.
Snooper is a lightweight test automation tool, it monitors files and folders while you work and re-runs your tests when you change something. Snooper doesn't care what language you're using or what framework you are testing with, it's all configureable.
Testify is a test framework framework. Think "Rack for testing."
Test OpenResty with your favourite test framework!
This is an ABingo plugin for the Ruby Camping framework, inspired by Patrick McKenzie's ABingo A/B testing Rails plugin (see http://www.bingocardcreator.com/abingo).
Ruby Web Bench, a web performance and load testing framework
Protest is a tiny, simple, and easy-to-extend test framework. Protest-rails brings that simplicity into the Rails world.
Cassandra mocking framework intended to replace having a full blown Cassandra running for a unit testing environment. Aims to be a fast and accurate representation of running CQL 3 against the Ruby Cassandra driver
Test your JavaScript without any framework dependencies, in any environment, and with a nice descriptive syntax.
Minimalistic testing framework
#TestsEx (Sharp Tests Extensions) is a set of extensible extensions. The main target is write short assertions where the Visual Studio IDE intellisense is your guide. #TestsEx can be used with NUnit, MsTests, xUnit, MbUnit. Note: This is the framework-independent build only. For specific unit test framework builds, you may use one of the following gems: [sharptestsex-nunit, sharptestsex-xunit, sharptestsex-mstest]
Additional assertions for seattlerb's popular MiniTest framework. Mostly aimed around improving compatibility with test-unit.
GitHooker provides a framework for building test that can be used with git hooks
Spectie (rhymes with "necktie") is a pure Ruby acceptance testing framework for RSpec. The philosophy of Spectie is that, since the business stakeholders on most projects don't care about exactly how you test, you're free to write the acceptance tests on a project how *you*, the developer, need to in order to ensure that the implementation is correct, easily understood, and maintainable. Furthermore, since you're a developer, the easiest, most straight-forward and maintainable way for you to write your tests is by using the highly expressive language that you're already coding in for the project; that's Ruby, baby!
Rasta is a keyword-driven test framework using spreadsheets to drive test automation. It is loosely based on FIT - tables define test parameters which call your test fixture. As the test runs, the spreadsheet is updated with test results.
testunitxml extends the Test::Unit framework with an assertion for testing well-formed XML documents.
Test automation scripts and libraries to run on top of the BRPM Content framework. See https://github.com/BMC-RLM/brpm_content_framework for more information about the BRPM Content framework
Opinionated framework for Ruby CLI applications that provides logging, cli argument parsing, daemonizing, configuration, testing, and even remote control of long running processes
Teth is a Ethereum smart contract test framework in ruby. It provides two testing environments: testing in ruby EVM and testing in geth. You don't need to understand ruby grammar, just enjoy syntactic sugar.
RubySliM implements the SliM protocol for the FitNesse acceptance testing framework. This gem is an unofficial version created and distributed by Eric Pierce <wapcaplet88@gmail.com>, based on the original code by Robert C. Martin and Doug Bradbury.
An object-oriented testing framework
BDD testing frameworks and utilities
Test::Unit::XML extends the Test::Unit framework with an assertion for testing well-formed XML documents
Standalone mongo test server for use with rspec or other unit testing framework
Add-on for RSpec's 'test double' framework, with support for stubbing and mocking within child processes
A tiny and experimental mutation testing framework for exploring research ideas.
A framework in ruby to test your extjs applications with selenium
Test-driven learning is a way to master a programming language by writing unit tests around its API's. shubox lowers the barrier to entry for test-driven learning by providing a basic infrastructure in which to start coding: A directory structure, some classes and unit tests to get started, and a build script. shubox currently creates environments for Ruby and Java, but can easily be extended to any language that lends itself to unit testing. shubox is built on newgem, so extending the framework is as simple as creating new generator scripts. After installing shubox and generating a testing environment, you'll start off with some passing tests that exercise parts of the language's API. Write new learning tests, naming each method with the intent of the lesson, then write the code that makes a test pass. Can you complete the lesson again from memory? If not, you may need to study the concept more closely and implement the tests again. According to {a paper by Karpicke and Roediger}[http://psych.wustl.edu/memory/Roddy%20article%20PDF's/Karpicke_Roediger_2008_Science.pdf], "repeated retrieval practice led to greater than 150% improvements in long-term retention than studying alone. ...Although educators and psychologists often consider testing a neutral process that merely assesses the contents of memory, practicing retrieval during tests clearly produces more learning than additional encoding or study once an item has been recalled." shubox makes repeated testing easy by providing built-in test cleaners that delete your test implementations, while keeping comments and test names to express the intent of the test.
= TMail http://tmail.rubyforge.org/ Mikel Lindsaar maintainer Trans assitant developer Minero Aoki original developer == NOTE: !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! THIS IS A FORK OF TMAIL HACKED TOGETHER TO WORK WITH RUBY 1.9.1 ! ! USE AT YOUR OWN DISCRETION ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! == DESCRIPTION: TMail is a mail handling library for Ruby. It abstracts a mail message into a usable object allowing you to read, set, add and delete headers and the mail body. TMail is used by the Ruby on Rails web framework as the Email abstraction layer for their ActionMailer module. It is also used by the Nitro framework and many other applications on and off the web. The goal of the TMail handling library is to be able to parse and handle raw Email sources and produce RFC compliant Emails as a result. If you find something that TMail does that violates an RFC, we want to know and we'll get it fixed fast. == DOCUMENTATION: The place you will want to look first is the TMail::Mail class. This has the vast majority of methods you will be using to talk to your TMail object. == FEATURES/PROBLEMS: TMail is fairly RFC compliant on the handling of emails. There are also some problems in the header handling, but for 99.9% of email, you will be fine. Usually, the problems revolve around parsing incomming emails and making sense of them. I really welcome any examples of Emails that "didn't work" with TMail so I can use them as test cases. == SYNOPSIS: TMail is very easy to use. You simply require the library and then pass a raw email text message into the TMail::Mail.parse method. This returns a TMail::Mail object which you can now query and run methods against to modify, inspect or add to the Email. You can find almost all of the methods that you will use to talk to and update a TMail instance in the TMail::Mail class. I am constantly updating this code, with comments, added a fair bit and have a lot more to go!. === Short Version: irb(main):001:0> require 'tmail' irb(main):002:0> raw_email = File.open("my_raw_email", 'r') { |f| @mail = f.read } irb(main):003:0> email = TMail::Mail.parse(raw_email) irb(main):004:0> puts email['to'] mikel@example.com => nil irb(main):005:0> email['to'] = 'mikel@somewhere.else.com' => "mikel@somewhere.else.com" irb(main):006:0> puts email['to'] mikel@somewhere.else.com => nil === Longer Version: Assuming you have a single raw email in the variable my_message, you can do the following: require 'tmail' email = TMail::Mail.parse(my_message) This will give you a TMail::Mail class containing your parsed message. There are other methods of opening emails through Ports. You can view this email by a simple puts: puts email Return-Path: <mikel@nowhere.com> Date: Sun, 21 Oct 2007 19:38:13 +1000 From: Mikel Lindsaar <mikel@nowhere.com> To: mikel@somewhere.com Message-Id: <009601c813c6$19df3510$0437d30a@mikel091a> Subject: Testing Email Hello Mikel Easy right? === Adding a header to the EMail: Say now that you have opened your message, you want to put in a Reply-To field. You do this like so: email['reply-to'] = "My Email Address <my_address@anotherplace.com>" Is it really there? Well, find out with a puts: puts email Return-Path: <mikel@nowhere.com> Date: Sun, 21 Oct 2007 19:38:13 +1000 From: Mikel Lindsaar <mikel@nowhere.com> Reply-To: My Email Address <my_address@anotherplace.com> To: mikel@somewhere.com Message-Id: <009601c813c6$19df3510$0437d30a@mikel091a> Subject: Testing Email Hello Mikel Yup looks good. === Inspecting a header: You can then inspect your added header by doing: email['reply-to'] # => #<TMail::AddressHeader "My Email Address <my_address@anotherplace.com>"> If you just want to the actual value, not the AddressHeader object, pass to_s to this. email['reply-to'].to_s # => "My Email Address <my_address@anotherplace.com>" === Deleting a header: One way of deleting a header from an Email is just assigning it nil like so: email['reply-to'] = nil # => nil If you now puts the email again, it will not be included: puts email Return-Path: <mikel@nowhere.com> Date: Sun, 21 Oct 2007 19:38:13 +1000 From: Mikel Lindsaar <mikel@nowhere.com> To: mikel@somewhere.com Message-Id: <009601c813c6$19df3510$0437d30a@mikel091a> Subject: Testing Email Hello Mikel === Writing out an Email: You can just call to_s on any email to have it serialized out as a single string with the right number of line breaks and encodings. == CONTRIBUTING: You can visit the {Contributing to TMail}[link:http://tmail.rubyforge.org/contributing/] to find out how to contribute to TMail, developers are welcome and wanted! == REQUIREMENTS: * C compiler if you want the Ruby extension for Scanner * Ruby 1.8 or later == INSTALLATION: * sudo gem install tmail Or manually, * sudo script/setup == LICENSE: (The MIT License) Copyright (c) 2007 FIX Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Rack::Test is a small, simple testing API for Rack apps. It can be used on its own or as a reusable starting point for Web frameworks and testing libraries to build on. Most of its initial functionality is an extraction of Merb 1.0's request helpers feature.
minitest-macruby provides extensions to minitest for macruby UI testing. It provides a framework to test GUI apps in a live instance. Documentation and examples are light at the moment as I've just thrown this together. Suggestions for extensions are very welcome! Currently it provides the following methods in minitest's assertions: * self.run_macruby_tests * find_ui_menu(*path) * find_ui_menu_items menu * assert_ui_menu menu, *items * find_ui_menu_item(*path) * assert_ui_action obj, target, action, key = nil * assert_ui_binding item, binding_name, target, path
An automation testing framework.
Provides a framework for writing and testing Jekyll plugins
Framework for writing tests
A Testing Framework extension for Apache Pig.To setup, executing and get the result.
Micro unit test framework
JavaScript BDD Testing Framework
Browsery is a browser automation test framework
A half-baked integration testing framework
Webrat lets you quickly write expressive and robust acceptance tests for a Ruby web application. It supports simulating a browser inside a Ruby process to avoid the performance hit and browser dependency of Selenium or Watir, but the same API can also be used to drive real Selenium tests when necessary (eg. for testing AJAX interactions). Most Ruby web frameworks and testing frameworks are supported.
Webrat lets you quickly write expressive and robust acceptance tests for a Ruby web application. It supports simulating a browser inside a Ruby process to avoid the performance hit and browser dependency of Selenium or Watir, but the same API can also be used to drive real Selenium tests when necessary (eg. for testing AJAX interactions). Most Ruby web frameworks and testing frameworks are supported.
Test framework for Pro1
Manos is an easy to use, easy to test, high performance web application framework that stays out of your way and makes your life ridiculously simple.
JS version of the Riot testing framework
Shoulda consists of test macros, assertions, and helpers added on to the Test::Unit framework