Use eunit for tests and add coverage and surefire reporting to rebar.config

This commit is contained in:
David Reid
2010-10-12 10:36:34 -07:00
parent 8ebf31c83b
commit 766f8483c4
3 changed files with 9 additions and 49 deletions

View File

@@ -0,0 +1,3 @@
% -*- mode: erlang -*-
{cover_enabled, true}.
{eunit_opts, [verbose, {report,{eunit_surefire,[{dir,"."}]}}]}.

View File

@@ -7,33 +7,20 @@
%%%-------------------------------------------------------------------
-module(sqlite3_test).
%% API
-export([create_table_test/0]).
-include_lib("eunit/include/eunit.hrl").
-record(user, {name, age, wage}).
%%====================================================================
%% API
%%====================================================================
%%--------------------------------------------------------------------
%% Function:
%% Description:
%%--------------------------------------------------------------------
create_table_test() ->
file:delete("ct.db"),
sqlite3:open(ct),
sqlite3:create_table(ct, user, [{name, text}, {age, integer}, {wage, integer}]),
sqlite3:create_table(ct, user, [{name, text}, {age, integer},
{wage, integer}]),
[user] = sqlite3:list_tables(ct),
[{name, primary_key}, {age, integer}, {wage, integer}] = sqlite3:table_info(ct, user),
[{name, primary_key}, {age, integer}, {wage, integer}] =
sqlite3:table_info(ct, user),
sqlite3:write(ct, user, [{name, "abby"}, {age, 20}, {wage, 2000}]),
sqlite3:write(ct, user, [{name, "marge"}, {age, 30}, {wage, 3000}]),
sqlite3:sql_exec(ct, "select * from user;"),
sqlite3:read(ct, user, {name, "abby"}),
sqlite3:delete(ct, user, {name, "abby"}),
sqlite3:drop_table(ct, user),
%sqlite3:delete_db(ct)
sqlite3:close(ct).
% create, read, update, delete
%%====================================================================
%% Internal functions
%%====================================================================

View File

@@ -1,30 +0,0 @@
#!/usr/bin/env escript
%%! -smp enable -pa ebin -sname testsqlite3
-record(user, {name, age, wage}).
test() ->
file:delete("ct.db"),
sqlite3:open(ct),
sqlite3:create_table(ct, user, [{id, integer}, {name, text}, {age, integer}, {wage, integer}]),
[user] = sqlite3:list_tables(ct),
[{id, primary_key}, {name, text}, {age, integer}, {wage, integer}] = sqlite3:table_info(ct, user),
{id, Id1} = sqlite3:write(ct, user, [{name, "abby"}, {age, 20}, {wage, 2000}]),
Id1 = 1,
{id, Id2} = sqlite3:write(ct, user, [{name, "marge"}, {age, 30}, {wage, 3000}]),
Id2 = 2,
[{columns, ["id", "name", "age", "wage"]}, {rows, [{1, <<"abby">>, 20, 2000}, {2, <<"marge">>, 30, 3000}]}] = sqlite3:sql_exec(ct, "select * from user;"),
sqlite3:read(ct, user, {name, "abby"}),
sqlite3:delete(ct, user, {name, "abby"}),
sqlite3:drop_table(ct, user),
%sqlite3:delete_db(ct)
sqlite3:close(ct),
io:format("Tests passed~n").
main(_) ->
try test() of
_ -> ok
catch
Class:Error ->
io:format("~p:~p:~p~n", [Class, Error, erlang:get_stacktrace()])
end.