# Test::Unit e Inner class

**URL:** <https://www.ruby-forum.com/t/test-unit-e-inner-class/69255>\
**Category:** IT\
**Created:** [September 19, 2006, 6:54pm UTC](https://www.ruby-forum.com/t/test-unit-e-inner-class/69255 "2006-09-19T18:54:36Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![gendag](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/f04885/32.png) [@gendag](https://www.ruby-forum.com/u/gendag)\
**Post date:** [September 19, 2006, 6:54pm UTC](https://www.ruby-forum.com/t/test-unit-e-inner-class/69255/1 "2006-09-19T18:54:36Z")

</div>

Salve,  
a tutti ho il seguente problema, se ho una classe che definisce al suo  
interno una classe:

#!/usr/bin/env ruby

class Config

# Inner classes

class Dir  
attr\_accessor :path  
def intialize(path)  
@path = path  
end  
end  
end

E in un file separato scrivo la seguente Test::Unit:

#!/usr/bin/env ruby

require ‘backupIt’  
require ‘test/unit’

class DirTest \< Test::Unit::TestCase  
def test\_init  
d1 = Config::Dir.new(".")  
assert\_equal ‘.’, d1.path  
end  
end

All’esecuzione dei test ho il seguente errore:

Loaded suite ./backupIt\_test  
Started  
E  
Finished in 0.001837 seconds.

1. Error:  
test\_init(DirTest):  
ArgumentError: wrong number of arguments (1 for 0)  
./backupIt\_test.rb:8:in `initialize' ./backupIt_test.rb:8:in`test\_init’

1 tests, 0 assertions, 0 failures, 1 errors

Penso che il problema derivi da problemi di visibilita’ della classe  
interna. Dove sbaglio?

Dal momento che ci sono vi chiedo anche: Che visibilita’ hanno le classi  
interne? Ve lo chiedo perche’ nel programma principale, se scrivo  
Config::Dir.new funziona, mentre nella Unit::Test no.

Esiste qualcosa di analogo al metodo “private” per rendere una classe  
interna visibile solo all’interno della classe esterna che la contiene?

grazie!

Gendag
