def get_test_options(defaults=None):
    """Test files-related options

    """

    if defaults is None:
        defaults = {}
    options = {
        # Path to the test set.
        "--test": {
            'action': 'store',
            'dest': 'test_set',
            'nargs': '?',
            'default': defaults.get('test', None),
            'help': "Test set path."},
        # Name of the file to output predictions.
        "--output": {
            'action': 'store',
            'dest': 'output',
            'default': defaults.get('output', None),
            'help': "Path to the file to output predictions."},

        # Set when the test set file doesn't include a header on the first
        # line.
        '--no-test-header': {
            'action': 'store_false',
            'dest': 'test_header',
            'default': defaults.get('test_header', True),
            'help': "The test set file hasn't a header."},

        # Test set field separator. Defaults to the locale csv
        # separator.
        '--test-separator': {
            'action': 'store',
            'dest': 'test_separator',
            'default': defaults.get('test_separator', None),
            'help': "Test set field separator."},

        # The path to a file containing attributes if you want to alter BigML's
        # default field attributes or the ones provided by the test file
        # header.
        '--test-field-attributes': {
            'action': 'store',
            'dest': 'test_field_attributes',
            'default': defaults.get('test_field_attributes', None),
            'help': ("Path to a csv file describing field attributes."
                     " One definition per line"
                     " (e.g., 0,'Last Name').")},

        # The path to a file containing types if you want to alter BigML's
        # type auto-detect.
        '--test-types': {
            'action': 'store',
            'dest': 'test_types',
            'default': defaults.get('test_types', None),
            'help': ("Path to a file describing field types. One"
                     " definition per line (e.g., 0, 'numeric').")},

        # If a BigML test source is provided, the script won't create a new one
        '--test-source': {
            'action': 'store',
            'dest': 'test_source',
            'default': defaults.get('test_source', None),
            'help': "BigML test source Id."},

        # If a BigML test dataset is provided, the script won't create a new
        # one
        '--test-dataset': {
            'action': 'store',
            'dest': 'test_dataset',
            'default': defaults.get('test_dataset', None),
            'help': "BigML test dataset Id."},

        # The path to a file containing dataset ids.
        '--test-datasets': {
            'action': 'store',
            'dest': 'test_datasets',
            'default': defaults.get('test_datasets', None),
            'help': ("Path to a file containing dataset/ids. Just"
                     " one dataset per line"
                     " (e.g., dataset/50a20697035d0706da0004a4).")},

        # Set when the test set file does include a header on the first
        # line. (opposed to --no-test-header)
        '--test-header': {
            'action': 'store_true',
            'dest': 'test_header',
            'default': defaults.get('test_header', True),
            'help': "The test set file has a header."}}

    return options