Это можно решить элегантно, используя метаклассы:
import unittest
l = [["foo", "a", "a",], ["bar", "a", "b"], ["lee", "b", "b"]]
class TestSequenceMeta(type):
def __new__(mcs, name, bases, dict):
def gen_test(a, b):
def test(self):
self.assertEqual(a, b)
return test
for tname, a, b in l:
test_name = "test_%s" % tname
dict[test_name] = gen_test(a,b)
return type.__new__(mcs, name, bases, dict)
class TestSequence(unittest.TestCase):
__metaclass__ = TestSequenceMeta
if __name__ == '__main__':
unittest.main()
Спасибо всем за ответы на мои вопросы ...
Я сделал еще несколько исследований по данным datatable и выяснил, что значения по умолчанию, предоставляемые bootstrap-datatables, были изменены. Атрибут oLanguage для datatable имеет возможность настройте свое слово. Первоначально значение sSearch было мягким, и я меняю его на Search. Теперь, когда я использую datatable, ключевое слово поиска появляется без добавления дополнительной строки в соответствующей JS. Ниже приведена дополнительная информация о bs3.datatables.js
(function ($) {
/* Set the defaults for DataTables initialisation */
$.extend( true, $.fn.dataTable.defaults, {
"sDom": "<'row'<'col-sm-12'<'pull-right'f><'pull-left'l>r<'clearfix'>>>t<'row'<'col-sm-12'<'pull-left'i><'pull-right'p><'clearfix'>>>",
"sPaginationType": "bs_normal",
"oLanguage": {
"sLengthMenu": "Show _MENU_ Rows",
"sSearch": "Search"
}
} );
Следуя документу, надеюсь, что он сработает ...
Документ: http://datatables.net/reference/option/language.search
Экстракт:
$('#example').dataTable( {
"language": {
"search": "Filter records:"
}
} );