First of all, I strongly recommend against using dependency injection in unit tests. When you're unit testing single class you should create it and pass its dependencies directly, through a constructor or methods. You won't have these problems then.
It's another story when you're writing integration tests though. There are several solutions to your problem.
Make sure all your classes receive dependencies only through injectable constructors. This way Guice won't inject anything because the object will be created by Mockito.
Use providers (and scoping, if needed). The following is equivalent to your attempt sans injection into B (I assume that you really meant
bind(B.class).toInstance(mock(B.class))
:bind(B.class).toProvider(new Provider<B> { @Override public B get() { return mock(B.class); } }).in(Singleton.class);
You should tweak the scope to satisfy your needs.